Go to file
antoniaklja 5164fbc3e4 Update how-it-works.md 2019-01-05 20:35:52 +01:00
build Add reconcile loop of Jenkins base configuration 2018-12-06 09:29:38 +01:00
cmd/manager Bump operator-sdk to v0.2.0 2018-12-12 09:43:29 +01:00
deploy Install base plugins 2018-12-25 17:10:56 +01:00
doc Update how-it-works.md 2019-01-05 20:35:52 +01:00
pkg Update README.md and theme 2019-01-03 20:01:26 +01:00
test/e2e Organized imports and updated README.md 2019-01-02 18:33:35 +01:00
version Add reconcile loop of Jenkins base configuration 2018-12-06 09:29:38 +01:00
.gitignore Add reconcile loop of Jenkins base configuration 2018-12-06 09:29:38 +01:00
Gopkg.lock Update README.md and theme 2019-01-03 20:01:26 +01:00
Gopkg.toml Update seedjob and jenkins client 2018-12-20 16:36:11 +01:00
LICENSE Initial commit 2018-10-19 16:20:19 +02:00
Makefile Refactoring, additional tests and update README.md 2018-12-27 18:17:54 +01:00
README.md Update README.md and initial version of docs 2019-01-04 17:00:00 +01:00
VERSION.txt Add reconcile loop of Jenkins base configuration 2018-12-06 09:29:38 +01:00
checkmake.ini Add checkmake config 2018-10-26 18:17:26 +02:00
config.env Add Makefile goals for minikube 2018-11-05 15:59:26 +01:00
jenkins-operator-draft.png Update README.md and add initial jenkins-operator draft 2018-12-27 20:35:56 +01:00
phases.png Update README.md and add how it works section 2019-01-05 20:22:14 +01:00
reconcile.png Update README.md and add how it works section 2019-01-05 20:22:14 +01:00

README.md

jenkins-operator

Kubernetes native Jenkins operator which manages Jenkins on Kubernetes. It was built with immutability and declarative configuration as code in mind.

It provides out of the box:

  • Seed Jobs and DSL Pipelines as code
  • Kubernetes plugin
  • Configuration as Code plugin
  • Secure and Hardened Jenkins instance
  • Basic Authentication

Documentation

  1. Installation
  2. Getting Started
  3. How it works
  4. Developer Guide

Contribution

Feel free to file issues or pull requests.

TODO

Common:

  • simple API for generating Kubernetes events using one common format
  • VirtusLab docker registry https://hub.docker.com/r/virtuslab/jenkins-operator
  • decorate Jenkins API client and add more functions for handling jobs and builds e.g. Ensure, CreateOrUpdate
  • documentation
  • VirtusLab flavored Jenkins theme
  • create Jenkins Jobs View for all jobs managed by the operator
  • jenkins job for executing groovy scripts

Base configuration:

  • install configuration as a code Jenkins plugin
  • handle Jenkins restart when base configuration has changed
  • install and configure Kubernetes plugin (in-progress)
  • e2e pipelines using Kubernetes plugin
  • Jenkins hardening, disable insecure options

User configuration:

  • user reconciliation loop with CR validation
  • configure seed jobs and deploy keys
  • e2e tests for seed jobs
  • configure Jenkins authorization (via configuration as a code plugin or groovy scripts)
  • backup and restore for Jenkins jobs running as standalone job (AWS, GCP, Azure)
  • trigger backup job before pod deletion using preStop k8s hooks
  • verify Jenkins configuration events