Skip to content

Move jobs to operator

Ahmad Hassan requested to merge move-jobs-to-operator into add-gitlab-operator

This MR is based on !516 (merged)

It basically moves the jobs (migrations, shared-secrets) to the operator. Meaning that helm will only be used for templating the yaml manifests used for this job but the creation and management of the job becomes a responsibility of the operator and not tiller.

How does that work?

The needed manifests are moved to files with names prefixed by _ to prohibit helm from attempting to install them. Thes files are included after being templated by helm into configmaps. The operator reads the configmaps and attempts to apply every one of them using the kubeclient. Applying them goes in order that is known to the operator. For example we need to install rbac service account, rolebindings .. etc before actually attempting to run the shared-secrets.

Can this be disabled

Yes, disable the operator and helm will install the jobs like before

Any known limitations?

If you installed using this method and then decided to revert back to helm it will fail because we do not do cleanups properly. https://gitlab.com/gitlab-org/distribution/gitlab-operator/issues/30 has been logged for that and we agreed that it is not a blocker for this MR

Edited by Ahmad Hassan

Merge request reports