pulumi-kubernetes: Add capability to redeploy helm charts without failure

Problem Statement Helm deployments cannot be deployed idempotently.

Expected Behavior Re-running pulumi up on a stack with Helm charts should not fail if the chart already exists on the cluster. Alternatively this could be a flag/option.

Current Behavior Re-running pulumi up generates errors like this… error: Plan apply failed: 1 error occurred: * secrets "alertmanager-kube-prometheus" already exists

Notes Helm has this capability using helm upgrade --install This will fail if the chart exists in a FAILED release state. To fix this use the --force flag.

It would be nice to have upgrade/force as options in Pulumi helm to mimic this behavior.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 18 (11 by maintainers)

Most upvoted comments

Rereading @carterwilliamson’s bug description, I want to ask a clarifying question:

Re-running pulumi up on a stack with Helm charts should not fail if the chart already exists on the cluster. Alternatively this could be a flag/option.

Did the Helm chart get installed through other means already, before running pulumi up? (Instead of, say, pulumi up failing when run a second time for an existing stack containing a Helm Chart.) And what you’re wanting is a way for the pulumi up to detect this, akin to a helm upgrade --install, rather than it failing as it does today with the error message you’ve shown?

After rereading, particularly this part

It would be nice to have upgrade/force as options in Pulumi helm to mimic this behavior.

I am suspecting this is what you meant, rather than a naming collision due to a bug in Pulumi, etc.

If yes, this definitely seems like a reasonable thing to support, perhaps with an upgrade?: boolean option that can be passed to the Helm Chart constructor.