Follow-up from the #3280 review. Four of the nine packages/extra/ charts ship a check-release-name.yaml guard that fails the render when the release name diverges from the chart name (bootbox, etcd, ingress, monitoring, and now computeplane); the other four (external-dns, gateway, info, seaweedfs) do not, and carry the same latent exposure: a module installed under a non-canonical release name silently diverges from the object-name mapping the aggregated API assumes (release.prefix + object name), which is how HelmRelease/Helm-storage collisions start.
Adding the guard is a copy of the existing three-line template per chart plus a two-case unittest (see packages/extra/computeplane/templates/check-release-name.yaml and tests/release_name_test.yaml from #3280).
Note: cozystack/community#39 proposes cardinality as a declarative capability on ApplicationDefinition, which would replace all of these hand-rolled per-chart guards — they should be understood as a stopgap until that lands.
Follow-up from the #3280 review. Four of the nine
packages/extra/charts ship acheck-release-name.yamlguard that fails the render when the release name diverges from the chart name (bootbox,etcd,ingress,monitoring, and nowcomputeplane); the other four (external-dns,gateway,info,seaweedfs) do not, and carry the same latent exposure: a module installed under a non-canonical release name silently diverges from the object-name mapping the aggregated API assumes (release.prefix+ object name), which is how HelmRelease/Helm-storage collisions start.Adding the guard is a copy of the existing three-line template per chart plus a two-case unittest (see
packages/extra/computeplane/templates/check-release-name.yamlandtests/release_name_test.yamlfrom #3280).Note: cozystack/community#39 proposes
cardinalityas a declarative capability onApplicationDefinition, which would replace all of these hand-rolled per-chart guards — they should be understood as a stopgap until that lands.