Skip to content

Route chart name changes through upgrade instead of uninstall/reinstall#1451

Closed
mattnewell wants to merge 1 commit intofluxcd:mainfrom
mattnewell:chart-name-upgrade-path
Closed

Route chart name changes through upgrade instead of uninstall/reinstall#1451
mattnewell wants to merge 1 commit intofluxcd:mainfrom
mattnewell:chart-name-upgrade-path

Conversation

@mattnewell
Copy link
Copy Markdown

Summary

  • Chart name changes in a HelmRelease currently trigger a full uninstall/reinstall cycle via ReleaseTargetChanged(), causing unnecessary downtime by deleting all resources before recreating them
  • Unlike release name or namespace changes, a chart name change does not affect the Helm storage key — helm upgrade correctly diffs old and new manifests, removing resources no longer in the new chart
  • VerifyRelease() already detects chart name changes via ErrChartChanged, routing them to ReleaseStatusOutOfSync and the upgrade path — so the fallback behavior is already in place

Test plan

  • Updated TestReleaseTargetChanged to assert chart name change returns false
  • Full test suite passes (make test)
  • Integration test with a live cluster: change chart name on an existing HelmRelease and verify the controller performs an upgrade (not uninstall/reinstall) and existing resources are preserved

🤖 Generated with Claude Code

Chart name changes do not affect the Helm storage key (release name +
namespace), so they can be handled by the existing upgrade path which
correctly diffs old and new manifests. The uninstall/reinstall cycle
causes unnecessary downtime by deleting all resources before recreating
them. VerifyRelease() already detects chart name changes via
ErrChartChanged, routing them to ReleaseStatusOutOfSync and an upgrade.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Matt Newell <matt.newell@brivo.com>
@hiddeco
Copy link
Copy Markdown
Member

hiddeco commented Mar 31, 2026

Duplicate of #1447. Please refer to the discussion there.

@hiddeco hiddeco closed this Mar 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants