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.

The main reason why we decided to develop 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:

  • Installing plugins with incompatible versions or security vulnerabilities
  • Better configuration as code
  • Lack of end to end tests
  • Handling graceful shutdown properly
  • Security and hardening out of the box
  • Orphaned jobs with no jnlp connection
  • Making errors more visible for end users