A Kubernetes Operator for Zuul
0f759638f3
This change update the kubernetes binding to use the new Optional types. The main consequence is that all the fields that are optional needs to be prefixed with Some. This let us remove the `--omit-empty` parameter resulting in cleaner resources where we don't need to set a dummy emptyDir medium value. See this issue for the details: https://github.com/dhall-lang/dhall-kubernetes/issues/86 Change-Id: I23a0a028909208cd58f57a6f07ee93090b3f3a1a |
||
---|---|---|
build | ||
conf | ||
deploy | ||
playbooks | ||
roles | ||
.gitreview | ||
.zuul.yaml | ||
CONTRIBUTE.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
watches.yaml |
Zuul Operator
Build the image
$ make image
Install the operator
$ make install
kubectl apply -f deploy/crds/zuul-ci_v1alpha1_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 -c operator
[...]
{"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/v1alpha1
kind: Zuul
metadata:
name: example-zuul
spec:
EOF
zuul.zuul-ci.org/example-zuul created