kubernetes-operator/README.md

55 lines
1.9 KiB
Markdown

# 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][installation]
2. [Getting Started][getting_started]
3. [How it works][how_it_works]
4. [Developer Guide][developer_guide]
## Contribution
Feel free to file [issues](https://github.com/VirtusLab/jenkins-operator/issues) or [pull requests](https://github.com/VirtusLab/jenkins-operator/pulls).
## 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
[installation]:doc/installation.md
[getting_started]:doc/getting-started.md
[how_it_works]:doc/how-it-works.md
[developer_guide]:doc/developer-guide.md