A Kubernetes Operator for Zuul
b6d8f1eb53
The operator currently creates an ingress object, but this was really just to aid testing. The operator probably shouldn't really create one since doing so may be site-specific. Having the ingress greatly aids local and functional testing though, so move it to the functional test playbook. Change-Id: Ic6296120f8c107ecc29556fdab4d6cddb5216a50 |
||
---|---|---|
build | ||
deploy | ||
playbooks/zuul-operator-functional | ||
zuul_operator | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
CONTRIBUTE.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
requirements.txt | ||
setup.cfg | ||
setup.py |
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