mirror of
https://github.com/jenkinsci/kubernetes-operator.git
synced 2026-09-30 05:01:10 +02:00
ec248f2d422cf5524d49ef245a189e0d4cd012dc
Jenkins Operator
What's Jenkins Operator?
Jenkins operator is a Kubernetes native operator which fully manages Jenkins on Kubernetes. It was built with immutability and declarative configuration as code in mind.
Out of the box it provides:
- integration with Kubernetes
- pipelines as code
- extensibility via groovy scripts or configuration as code plugin
- security and hardening
Problem statement and goals
The main reason why we decided to write the jenkins-operator is the fact that we faced a lot of problems with standard Jenkins deployment. We want to make Jenkins more robust, suitable for dynamic and multi-tenant environments.
Some of the problems we want to solve:
- volumes handling (AWS EBS volume attach/detach issue when using PVC)
- installing plugins with incompatible versions or security vulnerabilities
- better configuration as code
- lack of end to end tests
- handle graceful shutdown properly
- security and hardening out of the box
- orphaned jobs with no jnlp connection
- make errors more visible for end users
- backup and restore for jobs history
Documentation
Contribution
Feel free to file issues or pull requests.
TODO
Common:
- simple API for generating Kubernetes events using one common format
- code clean up and more tests
Base configuration:
- TLS/SSL configuration
User configuration:
- backup and restore for Jenkins jobs running as standalone job (AWS, GCP, Azure)
- verify Jenkins configuration events
Languages
Go
82.3%
Shell
4.6%
HTML
4.5%
Makefile
4%
SCSS
3%
Other
1.6%