flux-iac / tofu-controller

A GitOps OpenTofu and Terraform controller for Flux
https://flux-iac.github.io/tofu-controller/
Apache License 2.0
1.3k stars 137 forks source link

list all known features and their maturity level #1203

Open chanwit opened 8 months ago

chanwit commented 8 months ago

We have many features in the controller. Some of them are causing production issues. We need to list all of available features we're providing and grading them as alpha, beta and ga.

Feature: auto reconciliation

Feature: force unlocking

Feature: namespace multi-tenancy

Sub tasks

stefanprodan commented 8 months ago

Hey @chanwit I suggest having the alpha and beta features behind feature flags. For beta you could enable those features by default but still allow cluster admins to disable them. For alpha, people should opt-it, thus making them aware they are using unstable features that could incur breaking changes. You can use the package we have in Flux for this, here is an example https://github.com/fluxcd/kustomize-controller/blob/main/internal/features/features.go