Carthago Operator for Jenkins®

Mission: make Jenkins compatible with modern software teams’ needs

What is an "operator"?

To deploy and maintain software tools, an Engineer needs to possess domain knowledge about intricacies of the tooling itself, infrastructure, architecture and more. Often those manual tasks are repetitive and can be automated. We are enclosing that knowledge into  software, an Operator pattern, so that Engineers can focus on complex activities and delegate the tedious work. Operators run control loops that compare the desired and actual state of the system, and carry out the steps needed in order to achieve the desired state.

In the world of Kubernetes, the Operator defines Custom Resources that extend the k8s API and are used to define the desired state. The job of the Operator is to constantly watch for changes, deploy, configure and maintain resources.

Carthago Operator for Jenkins allows to run Jenkins on Kubernetes in its native way.

Effortless deployment

  • Single Source of truth for Jenkins and job/pipelines configuration
  • Automatically managed lifecycle
  • Straightforward deployment using Kubernetes’ CR or Helm Charts
  • Security Hardening out of the box
  • Jenkins customization via configuration-as-code yaml and job-dsl files
deployment
maintenance

Easy Maintenance

  • Test different configurations in safe environment
  • Utilize blue-green deployment for safe upgrades in production environments
  • Minimal downtime
  • GitOps declarative configuration for Jenkins and jobs/pipelines
  • Use separate CI/CD instances for different teams
  • Store secrets and credentials as Kubernetes resources

Disaster Recovery

  • Painless configuration rollbacks
  • Uncomplicated way to recreate whole instance from scratch
  • Good visibility (logs in kubernetes pods)
recovery

Efficient resource utilization

Auto-scaling worker pods (Jenkins Agents) based on needs.

Reproducible Jenkins Deployment

Store all of your configuration in Git repository, automatic backups will take care of the rest of the state.

Improved Security out-of-the-box

Ships with security hardening scripts already applied.

Leverage latest technology standards

Take advantage of Kubernetes ecosystem to make your infrastructure resilient and accelerate your development cycles.

Avoid large super-instance

Easily split your large instance into smaller ones for easier maintenance.

Architect the right environment with Carthago

Carthago Architecture

Design Remarks

  • The Operator is capable of watching multiple namespaces.
  • Each Jenkins instance should have its own namespace.
  • There is one dedicated Seed Job Agent for creating Jenkins jobs.
  • Manifests for configuration resources can be stored in a Git repo.
  • DSL Pipelines and Job Definitions are versioned in Git.
  • Secure access to the Jenkins instance is provided via VPN or Bastion Host.

Try Carthago today