A Kubernetes Operator for Zuul
Go to file
Michael Kelly f3b2e7d473
k8s: Inject rbac.yaml into operator.yaml
This change combines the templates for rbac.yaml and operator.yaml
with a few additional wrinkles:

- split of the the rules that are specific to the operator.zuul-ci.org
  apiGroup to line up with the Helm chart and provide more explicit
  permissions

- changed the role binding to bind to the zuul-operator role, not
  cluster-admin role.  This was presumably an unintentional error.

- added rule for batch/jobs which is used for the pxc-create-db job

- made functional test use admin template

By doing this, it will become easier to align the static templates
with the Helm chart and to subsequently auto-generate them.

Change-Id: I940280fc7134ce280a80584c7b652bdfe360cc8b
2023-05-12 21:01:44 -07:00
build Update the docker images to python 3.10 2022-10-14 14:48:00 -07:00
deploy k8s: Inject rbac.yaml into operator.yaml 2023-05-12 21:01:44 -07:00
doc k8s: Inject rbac.yaml into operator.yaml 2023-05-12 21:01:44 -07:00
helm/zuul-operator helm: Support clusteradmin role binding 2023-05-12 21:01:43 -07:00
playbooks/zuul-operator-functional k8s: Inject rbac.yaml into operator.yaml 2023-05-12 21:01:44 -07:00
tools Add static node to functional test 2021-08-05 07:34:49 -07:00
zuul_operator bug: Properly parameterize zookeeper-client-tls everywhere 2023-05-12 21:01:43 -07:00
.git-blame-ignore-revs Add reformat changes to the blame ignore list 2020-07-08 13:20:57 -04:00
.gitignore Convert docs from tox to nox 2023-02-24 20:50:29 -08:00
.gitreview Add .gitreview and .zuul.yaml 2019-06-27 07:41:10 -07:00
.zuul.yaml test: Introduce Helm-based functional test 2023-05-12 21:01:43 -07:00
LICENSE Initial commit 2019-04-02 10:01:37 +00:00
Makefile Add docs 2021-07-23 10:27:04 -07:00
README.md Bump API version to v1alpha2 2021-07-20 13:16:58 -07:00
noxfile.py Add remaining nox sessions based on tox.ini 2023-02-24 21:04:59 -08:00
requirements.txt kopf: Upgrade kopf to at least 1.35.0 2022-10-14 08:38:56 -07:00
setup.cfg Convert linters from tox to nox 2023-02-24 21:00:46 -08:00
setup.py Use kopf operator framework 2021-07-20 13:16:07 -07:00
tox.ini Switch docs theme to versioned RTD 2021-12-16 11:22:21 -08:00

README.md

Zuul Operator

Build the image

$ make image

Install the operator

$ make install
kubectl apply -f deploy/crds/zuul-ci_v1alpha2_zuul_crd.yaml -f deploy/rbac.yaml -f deploy/operator.yaml

Look for operator pod and check it's output

$ kubectl get pods
NAME                            READY     STATUS    RESTARTS   AGE
zuul-operator-c64756f66-rbdmg   2/2       Running   0          3s
$ kubectl logs zuul-operator-c64756f66-rbdmg
[...]
{"level":"info","ts":1554197305.5853095,"logger":"cmd","msg":"Go Version: go1.10.3"}
{"level":"info","ts":1554197305.5854425,"logger":"cmd","msg":"Go OS/Arch: linux/amd64"}
{"level":"info","ts":1554197305.5854564,"logger":"cmd","msg":"Version of operator-sdk: v0.6.0"}
{"level":"info","ts":1554197305.5855,"logger":"cmd","msg":"Watching namespace.","Namespace":"default"}
[...]

Usage

$ kubectl apply -f - <<EOF
apiVersion: operator.zuul-ci.org/v1alpha2
kind: Zuul
metadata:
  name: example-zuul
spec:

EOF
zuul.zuul-ci.org/example-zuul created