Skip to content

snapshot-controller

Purpose

kubernetes/apps/kube-system/snapshot-controller runs the CSI external-snapshotter controller that backs VolumeSnapshot and VolumeSnapshotClass resources for the cluster's storage.

CRD lifecycle

The chart ships its CRDs under crds/. The root Kustomization (kubernetes/flux/cluster/ks.yaml) patches every HelmRelease with install.crds: CreateReplace and upgrade.crds: CreateReplace, so helm-controller server-side applies this chart's crds/ on every install and upgrade, keeping the CRDs current without a manual step.

This chart replaced an older one that templated its CRDs, guarded by a postRenderer stamping helm.sh/resource-policy: keep onto them. Shipping CRDs in crds/ instead of templating them removed the need for that workaround.

A manual apply is only the break-glass path for a HelmRelease that wedges before completing its CRD pass. See KB-029 for that recovery procedure, pinned to the deployed chart version, and the CRD-deletion incident it covers.