# Generic HDD (pd-standard) StorageClass for GKE — the cluster-wide default. # # Why this exists # --------------- # GKE ships with `standard-rwo` as the default StorageClass, which under the # hood provisions `pd-balanced` (SSD-backed hybrid). That draws from the # SSD_TOTAL_GB quota and has repeatedly caused provisioning to wedge on small # projects. For workloads that don't need SSD latency (OpenBao, registry # storage, generic scratch PVCs, Garage) we want `pd-standard` (HDD) — which # uses the separate HDD quota and is cheaper per GiB. # # This class is the canonical cluster-wide default. Workloads that DO need # SSD latency (CNPG) opt in explicitly via storageClassName=premium-rwo in # their PVC template. # # To make this the default, apply this manifest and then run # etc/ensure_default_storage_class.sh --apply (which clears the default # annotation off standard-rwo and sets it here). apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: standard-hdd annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: pd.csi.storage.gke.io parameters: type: pd-standard reclaimPolicy: Retain volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true