Skip to content

fix(base): remove dangerous helm release options#302

Merged
sebastiancorrea81 merged 2 commits intomainfrom
fix/helm-release-dangerous-options
Apr 23, 2026
Merged

fix(base): remove dangerous helm release options#302
sebastiancorrea81 merged 2 commits intomainfrom
fix/helm-release-dangerous-options

Conversation

@sebastiancorrea81
Copy link
Copy Markdown
Collaborator

Summary

  • Removes atomic, cleanup_on_fail, replace, force_update, and recreate_pods from the helm_release.base resource — all were set to true and could cause namespace/resource deletion on failed upgrades
  • Removes options that were explicitly set to their Helm provider defaults (create_namespace, disable_webhooks, wait, reuse_values), reducing noise and making intentional deviations explicit
  • Retains only options that meaningfully differ from defaults: wait_for_jobs, timeout, reset_values, dependency_update, max_history

Root cause

With atomic = true + cleanup_on_fail = true + replace = true, a failed helm upgrade would:

  1. Delete newly created resources (cleanup_on_fail)
  2. Trigger automatic rollback (atomic)
  3. If rollback failed, purge the entire release (replace)

This caused namespaces and chart-managed resources to be deleted on upgrade failures.

Test plan

  • tofu plan shows 0 to destroy on upgrade
  • tofu apply with changed values shows ~ update in-place only, no destroys
  • Failed upgrade (metrics-server timeout in minikube) left all namespaces and pods intact
  • Subsequent upgrade after failure recovered cleanly (faileddeployed) with 0 destroyed

🤖 Generated with Claude Code

sebas_correa and others added 2 commits April 23, 2026 11:26
Removes force_update, atomic, cleanup_on_fail, replace, and recreate_pods
which could cause resource deletion on failed upgrades. Also removes options
that were already set to their Helm provider defaults (create_namespace,
disable_webhooks, wait, reuse_values).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…es provider lock

Updates nullplatform/nullplatform from 0.0.75 to 0.0.85 to match the ~> 0.0.76
constraint, and adds the hashicorp/kubernetes 3.1.0 lock entry required by the
kubernetes_namespace_v1 resources.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sebastiancorrea81 sebastiancorrea81 merged commit 66cdd18 into main Apr 23, 2026
43 of 44 checks passed
@sebastiancorrea81 sebastiancorrea81 deleted the fix/helm-release-dangerous-options branch April 23, 2026 17:17
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