A Kubernetes Operator for Zuul
Go to file
Michael Kelly 2d48d5c45c
k8s: Allow use of a default image version besides latest
This change allows us to specify a default image version that is
something other than latest via the ZUUL_IMAGE_VERSION environment
variable.  We also include modifications to the Helm chart that will
link that image version to the application version as specified by the
chart so that the images match up as expected.

Allowing the image version to float at latest can be dangerous for
production configurations because pods being rescheduled to a
different node may result in different (potentially incompatible) pods
being pulled with a different image version than what was originally
deployed for the application.

Change-Id: I80f96614cff5d15662742ed1fa0ad1a32d62e8bd
2023-05-18 14:39:48 -07:00
build Update the docker images to python 3.10 2022-10-14 14:48:00 -07:00
deploy k8s: Allow use of a default image version besides latest 2023-05-18 14:39:48 -07:00
doc Allow the specification of storageClassName in PVCs 2022-11-02 22:33:08 -07:00
helm/zuul-operator k8s: Allow use of a default image version besides latest 2023-05-18 14:39:48 -07:00
playbooks/zuul-operator-functional k8s: Allow use of a default image version besides latest 2023-05-18 14:39:48 -07:00
tools Add static node to functional test 2021-08-05 07:34:49 -07:00
zuul_operator k8s: Allow use of a default image version besides latest 2023-05-18 14:39:48 -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-18 14:39:48 -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