POC: Use Helm V3 SDK as a template base for OpenShift operator
In https://gitlab.com/gitlab-org/gl-openshift/operator/-/issues/1, @WarheadsSE proposed the option of having the OpenShift Operator consume the GitLab Helm chart by using the Helm V3 SDK. After discussing this proposal with RedHat's @ochienged and @jsenegal, we have decided to move forward with a Proof of Concept. This allows us to continue new feature work in the Helm charts rather than having a separate project to maintain, while using the Operator to manage Day 2 operations.
Primary goal: Investigate if we can make use of the Helm v3 SDK (documented here) to consume and generate the objects to be managed by the Operator Framework, removing the need to replicate existing work through , and allowing greater flexibility and acceleration of the Operator work.
We don't want to incorporate the actual
helm install functionality, but rather create a programmatic version of our previous
tiller-less pattern familiarized by
helm template ... | kustomize | kubectl apply. We're interested on having the operator capable of consuming a chart artifact (they're basically tarballs with properly structured contents). We should be able to make use of the API provided by the SDK (above) to generate objects consumable by the OperatorFramework. This may require some transliteration / transformation between some object formats, but the effective contents should be close enough to make this simplistic.
- Create a POC MR for review
- Create follow up issues for next steps