49ea14b9bc
This change introduces a basic helm chart for the zuul-operator to make it easier to (un)install is from a given Kubernetes cluster. The chart is a combination of the trimmed down output from 'helm create' combined with some details from the existing Kubernetes templates in the repository. Notable differences from the existing templates are as follows: - ClusterRole, ClusterRoleBinding, and ServiceAccount are all in separate template files - we use the named role in the binding instead of using the cluster-admin role, which provides greater access than an operator should require - any references to namespaces are removed as they will be controlled by 'helm install' Notable deficiencies are as follows: - no readiness probe or liveness probe (this was a pre-existing problem in the Kubernetes templates) - not 100% clear if the listed role permissions are exactly what's required Depends-on: https://review.opendev.org/c/zuul/zuul-jobs/+/861799 Change-Id: I4c31d2e59f140277afe02077551544458c141412 |
||
---|---|---|
build | ||
deploy | ||
doc | ||
helm/zuul-operator | ||
playbooks/zuul-operator-functional | ||
tools | ||
zuul_operator | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
LICENSE | ||
Makefile | ||
README.md | ||
noxfile.py | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
tox.ini |
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