Skip to content

feat(snapshot-controller): VolumeSnapshotClass component for AWS#41

Merged
danielgines merged 1 commit intomainfrom
feat/snapshot-controller-volumesnapshotclass
May 6, 2026
Merged

feat(snapshot-controller): VolumeSnapshotClass component for AWS#41
danielgines merged 1 commit intomainfrom
feat/snapshot-controller-volumesnapshotclass

Conversation

@danielgines
Copy link
Copy Markdown
Member

Summary

  • New components/snapshot-controller/ chart that ships a single VolumeSnapshotClass ebs-csi-aws with the velero.io/csi-volumesnapshot-class: "true" discovery label.
  • Bumps workload-bootstrap Chart.yaml + values.yaml + repoVersion to v0.39.10.

Why

Velero CSI backups silently skip PV snapshotting when no VolumeSnapshotClass carries the velero discovery label. Observed on cortex prd 2026-05-05: 14 PVs in PartiallyFailed phase after the KMS fix (v0.45.1) unmasked this pre-existing gap.

The snapshot-controller deployment + CRDs come from the EKS managed addon, provisioned in estabilis-platform v0.46.0 (paired PR). This component only ships the VSC.

Pairing

  • estabilis-platform v0.46.0 — adds snapshot-controller to local.default_addons + bootstrap/platform-root/templates/snapshot-controller.yaml (AWS-only, sync wave 6, consumes this component's values).

Test plan

  • helm template renders 1 doc with the AWS overlay; 0 docs without
  • YAML parses cleanly via yaml.safe_load_all
  • After merge → cortex bump → terraform apply: kubectl get volumesnapshotclass ebs-csi-aws returns the resource with the velero label
  • Velero ad-hoc backup post-deploy → phase=Completed (no PartiallyFailed) and PV count > 0 in items

New `components/snapshot-controller/` chart that renders a single
VolumeSnapshotClass `ebs-csi-aws` with the `velero.io/csi-volumesnapshot-
class: "true"` discovery label. Required for Velero to take CSI
snapshots of EBS-backed PVs (without the label, backups skip PV
snapshotting entirely → PartiallyFailed phase, observed on cortex prd
2026-05-05).

The snapshot-controller deployment + CRDs are installed via the EKS
managed addon (provisioned by estabilis-platform v0.46.0 in
providers/aws/eks.tf — paired with this chart).

Component is consumed by bootstrap/platform-root/templates/
snapshot-controller.yaml in estabilis-platform v0.46.0+ (AWS-only,
sync wave 6).
@danielgines danielgines merged commit 00f36bc into main May 6, 2026
5 checks passed
@danielgines danielgines deleted the feat/snapshot-controller-volumesnapshotclass branch May 6, 2026 10:57
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.

1 participant