Go to file
Jakub Al-Khalili 22c95c33ab Package operator to deploy on OperatorHub 2019-10-17 09:58:26 +02:00
assets Add kubernetes-operator logo 2019-06-04 15:21:55 +02:00
backup/pvc Bump backup PVC version to v0.0.6 2019-09-01 11:58:18 +02:00
build Add reconcile loop of Jenkins base configuration 2018-12-06 09:29:38 +01:00
chart Bump version to v0.2.2 2019-09-19 14:23:49 +02:00
cicd #90 Fix pipeline groovy script 2019-09-13 16:20:14 +02:00
cmd/manager Add kubernetes event as notification provider, imrpove notification warnings 2019-10-03 10:19:31 +02:00
deploy Package operator to deploy on OperatorHub 2019-10-17 09:58:26 +02:00
docs #67 Update website - add HTTP Proxy configuration section, update 0.2.0 scheme 2019-09-26 16:22:04 +02:00
documentation Fix typo in namespace 2019-09-27 10:42:50 +03:00
internal #69 Add groovy script template rendering, fix pollSCM, improve pollSCM tests 2019-09-02 13:16:28 +02:00
pkg Fix #135: couple of misspellings 2019-10-10 22:53:56 -04:00
scripts Update Jenkins plugins 2019-05-29 18:43:12 +02:00
test/e2e #110 Fix unit tests and formatting 2019-09-19 13:27:47 +02:00
version Add reconcile loop of Jenkins base configuration 2018-12-06 09:29:38 +01:00
website Merge pull request #141 from anthonydahanne/patch-2 2019-10-11 09:13:01 +02:00
.gitignore Add missing files for the website 2019-09-09 10:14:21 +02:00
.travis.yml Upgrade to go v1.13 2019-09-27 23:14:38 -04:00
Dockerfile Change metrics mechanism in cmd/manager/main.go 2019-09-09 14:52:21 +02:00
LICENSE Initial commit 2018-10-19 16:20:19 +02:00
Makefile Update to use go 1.13-built staticcheck 2019-09-28 14:59:27 -04:00
README.md Bump version to v0.2.2 2019-09-19 14:23:49 +02:00
VERSION.txt Bump version to v0.2.2 2019-09-19 14:23:49 +02:00
checkmake.ini Add checkmake config 2018-10-26 18:17:26 +02:00
config.env Update k8s version to v1.16.0 (default version for minikube v1.4.0) 2019-09-28 15:17:45 -04:00
entrypoint.sh Added docker goal to Makefile 2019-07-08 15:14:44 +02:00
gen-crd-api-config.json Add Jenkins scheme doc 2019-06-19 18:00:30 +02:00
go.mod Improve notifications 2019-10-04 17:34:41 +02:00
go.sum Improve notifications 2019-10-04 17:34:41 +02:00
tools.go Bump operator-sdk to v0.8.1 2019-06-07 17:36:56 +02:00

README.md

Jenkins Operator

Version Build Status Go Report Card Docker Pulls

Visit website for the full documentation, examples and guides.

logo

What's the 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 implement 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

  1. Installation
  2. Getting Started
  3. How it works
  4. Security
  5. Developer Guide
  6. Jenkins scheme

Contribution

Feel free to file issues or pull requests.

About the authors

This project was originally developed by VirtusLab and the following CONTRIBUTORS.