cluster-api: config/* files can't be kustomized as-is w/o envsubst

In recent times it seems that feature-gate flags were added to CAPI controllers. The values for these flags seem to be assigned by envsubst variable expansion e.g. ${EXP_SOMETHING:=false}. This convention renders the config/* manifests not usable as-is using only kustomize, and requires an additional tool, envsubst, in order to properly generate kustomized manifests.

I’d like for CAPI to eliminate this additional binary requirement of envsubst. It seems that in the CAPI codebase that the feature gate flags are used by dev and CI. I’m hoping there’s another way to accomplish the same thing in order to eliminate the dependency on envsubst.

A somewhat related issue is #3252, but that has more to do with cluster templates.

/cc @fabriziopandini

About this issue

  • Original URL
  • State: open
  • Created 4 years ago
  • Comments: 28 (20 by maintainers)

Most upvoted comments

Summary of a recent discussion about this:

  • the management cluster operator work is going to remove the need of variables for feature flags
  • the work on multitenancy could potentially remove the need of variables for credentials (to be confirmed)
  • at least in Azure, there is still the need for env vars for AZURE_ENVIRONMENT