question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

high availability: deploy Repairnator in Kubernetes

See original GitHub issue

Core design:

  • A queue system like ActiveMQ to save build ids
  • A K8s cron job running repairnator scaner to get latest build ids and add them into the queue
  • A set of pods running repairnator pipeline which fetches build id from the queue and does the analysis

Such an architecture could decrease coupling and take advantages of Kubernetes features. Since Repairnator has already implemented different Docker images, it is not very difficult to push forward.

Tasks (one per pull requests):

  • Rename BuildRunner into DockerPipelineRunner
  • Create empty ActiveMQPipelineRunner extends AbstractPoolManager (branch by abstraction strategy)
  • Change field name of DockerPipelineRunner to pipelineRunner
  • Add interface PipelineRunner for ActiveMQPipelineRunner to implements
  • Implement ActiveMQPipelineRunner
  • Add NopeRunner which does nothing. It would allow to run the scanner only, even without docker installed.
  • NopeRunner should be the default
  • Add support for configuring the runner to use (ie either DockerPipelineRunner or ActiveMQPipelineRunner)
  • Change Travis CI config to deploy an ActiveMQ there and test the core functionality

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:20 (20 by maintainers)

github_iconTop GitHub Comments

1reaction
gluckzhangcommented, Jun 19, 2019

Very good. Instead of adding things here, what about breaking this PR in smaller ones, to be merged one after the other? This is the “branch by abstraction” practice.

Hi @monperrus , good idea. I also find that the PR is growing too fat now. We will break it into small ones 😃

1reaction
monperruscommented, Jun 19, 2019

Very good. Instead of adding things here, what about breaking this PR in smaller ones, to be merged one after the other? This is the “branch by abstraction” practice.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Kubernetes High Availability Essential Practices Simply ...
Deploy your application with a redundant data plane. This means replicating the data across every node in the cluster. Kubernetes high ...
Read more >
High Availability in Kubernetes | Detailed Guide | K21 Academy
This post discusses High Availability Kubernetes, deployment, Service, Load balancing, and how to Setup Scalable Application In Kubernetes.
Read more >
High Availability and Services with Kubernetes | Jetstack Blog
Running High Availability and Services with Kubernetes – introducing Kubernetes replication controllers and services.
Read more >
Kubernetes High Availability - Dominik Tornow - Medium
Using a systems modeling approach this series aims to advance the understanding of Kubernetes and its underlying concepts.
Read more >
Creating (really) high available services in K8s | mklein.io
Learn here how to make your K8s deployments (really) high available. ... Kubernetes achieve high availability in both cluster and ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found