weaveworks / flux2-openshift

OperatorHub submission repo for Flux2
Apache License 2.0
4 stars 4 forks source link

Deprecate `flux2-openshift` in favour of `flux-operator` #22

Open stefanprodan opened 3 weeks ago

stefanprodan commented 3 weeks ago

At ControlPlane we've been working on a new Flux Operator that comes with major UX improvements for OpenShift users. For example, being able to customise Flux in the same way bootstrap allows, being able to switch on the multi-tenancy lockdown, automatic upgrades of Flux controllers and much more.

I propose for the https://operatorhub.io/operator/flux to be marked as deprecated, and to link from its readme to https://operatorhub.io/operator/flux-operator

kingdonb commented 3 weeks ago

I'm super excited about the new flux-operator - this does open up many possibilities for basic and advanced customizing Flux deployments in places where customization previously wasn't possible. I use these features all the time, and I like to keep the latest version of Flux installed all the time, so OLM flux for me was basically non-starter.

Users can decide what version of Flux they want, get access to features as soon as they are released upstream, more easily enable persistent storage for critical Flux deployments to go on reconciling the drift when the source of truth is unavailable, and to tune features like concurrency and dependency-requeue.

All of these options are in the Flux guide and docs but were not available to OpenShift Flux through the OLM, and similarly unavailable on Azure Flux, Cozystack, or basically anywhere that provides a managed Flux, so I hope they will adopt it too.

(Are there any plans to add OLM support for the flux-operator? I am thinking of the smooth transition for my friends that use OpenShift who have already installed the OLM version of Flux from OperatorHub.) - I imagine the answer is no, and I'm not sure why I'd need this, but it's the first question I expect to get when I share this news.

stefanprodan commented 3 weeks ago

The Flux Operator can take over Flux deployments made with Flux CLI install, bootstrap, Flux Terraform Provider and Helm with zero downtime. The issue with flux2-openshift is that it doesn't support uninstall as oc delete subscription will break the whole cluster and get stuck in finalizers. I think the safest way to migrate is by running flux uninstall --keep-namespace then oc delete subscription and then install the Flux Operator via its subscription.