Kuadrant / kuadrant-operator

The Operator to install and manage the lifecycle of the Kuadrant components deployments.
Apache License 2.0
35 stars 32 forks source link

Installing sail operator without kustomize #401

Open adam-cattermole opened 8 months ago

adam-cattermole commented 8 months ago

Follows up from #400.

The sail operator moved away from using kustomize to helm to install locally which means we can no longer install the same way for local dev / testing (https://github.com/maistra/istio-operator/pull/1576). This leaves ISTIO_INSTALL_SAIL=true non-functional (edit: this has been fixed by pinning the sail version to the commit before the manifests were removed).

Currently there isn't a helm package/index to consume from in the GitHub repo https://github.com/maistra/istio-operator/tree/maistra-3.0/chart so it does not look like we can easily install from the helm chart.

adam-cattermole commented 8 months ago

There's the potential that the sail operator is moved to the istio-ecosystem and that the sail operator would be published in the k8s community operator hub so perhaps this is the way to move once available.

I've reached out to find out what the suggested method is for installing sail operator upstream (if there is one).

adam-cattermole commented 8 months ago

In case a package/index is added to the maistra repo I have some wip changes here https://github.com/Kuadrant/kuadrant-operator/compare/main...adam-cattermole:kuadrant-operator:sail-helm-install

dgn commented 8 months ago

hi @adam-cattermole, what would you need from us to consume the charts? you can always git sub-module us and use make deploy-yaml to generate the yaml that deploys the operator (or use make deploy right away)

adam-cattermole commented 8 months ago

Hey @dgn, I don't think sub-moduling in our repository is a viable solution for us to install another operator.

We are looking for a way to install the operator for both local dev and nightly tests with the option of pinning to a particular version. It's possible we could pin by commit sha for now and patch the deployment with the relative nightly (and write some tooling to do this).

To install from the helm charts an index/package needs to be present with the charts (like this), and we could then install directly with kustomize with the changes here https://github.com/Kuadrant/kuadrant-operator/compare/main...adam-cattermole:kuadrant-operator:sail-helm-install

dgn commented 8 months ago

I see. I'm sorry but I don't think we currently have the means to support a tarball chart release. We're focusing on OLM as the primary deployment mechanism for the near future.

If it's only for nightly tests and local dev, I don't see why shallow-cloing the repo and calling make deploy (or helm install directly) is a problem - and it would avoid us having to maintain a release pipeline for helm charts.

If there's any other way we can support you in a way that presents itself as a one-off effort instead of continued maintenance we'll be happy to do that!

adam-cattermole commented 8 months ago

Understood, thanks for your input - I'll continue to watch OSSM-4829 and once that's complete we could look at consuming through OLM from the community operator hub.

adam-cattermole commented 3 months ago

Linking this for reference https://github.com/istio-ecosystem/sail-operator/issues/110

I'll look at updating the draft PR to consume one of the helm charts once available and we can unpin.