Skip to content

no rollback/uninstall strategy for CRDs #1524

Open

Description

@sophsoph321

The CRD management design proactively applies/updates CRDs before Helm install/upgrade based on CRDStrategy. However, when a Helm release is rolled back or uninstalled, no corresponding CRD cleanup or rollback logic is triggered. This creates an asymmetry: CRDs flow forward on upgrade but don't flow backward on uninstall/rollback. Wanted to understand more why this kind of behavior is acceptable?
https://github.com/fluxcd/helm-controller/blob/release/v1.4.x/internal/action/crds.go

Activity

  1. stefanprodan commented on Jun 17, 2026

    @stefanprodan
    Member

    Wanted to understand more why this kind of behavior is acceptable?

    Because Helm does it this way: CRDs + Volumes are left in the cluster at uninstall. Reason being simple, a CRD delete triggers the deletion of all custom resources, and since the controller is gone, all will be stuck in finalizers, good luck recovering from this without manually removing them. Helm itself has no means of doing what flux uninstall does.

  2. matheuscscp commented on Jun 17, 2026

    @matheuscscp
    Member
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions