diff --git a/storage-class.yaml b/storage-class.yaml index 07bf750..4235eb0 100644 --- a/storage-class.yaml +++ b/storage-class.yaml @@ -3,6 +3,12 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: postgres + annotations: + kubernetes.io/description: | + Storage class for Postgres, Postgis and similar applications that + implement high availability in application layer. + This storage class uses XFS, has no block level redundancy and + has block device level caching disabled. provisioner: csi.proxmox.sinextra.dev reclaimPolicy: Retain volumeBindingMode: WaitForFirstConsumer @@ -17,6 +23,12 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: mysql + annotations: + kubernetes.io/description: | + Storage class for MySQL, MariaDB and similar applications that + implement high availability in application layer. + This storage class uses XFS, has no block level redundancy and + has block device level caching disabled. provisioner: csi.proxmox.sinextra.dev reclaimPolicy: Retain volumeBindingMode: WaitForFirstConsumer @@ -31,6 +43,12 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: mongo + annotations: + kubernetes.io/description: | + Storage class for Mongo and similar applications that + implement high availability in application layer. + This storage class uses XFS, has no block level redundancy and + has block device level caching disabled. provisioner: csi.proxmox.sinextra.dev reclaimPolicy: Retain volumeBindingMode: WaitForFirstConsumer @@ -45,6 +63,12 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: prometheus + annotations: + kubernetes.io/description: | + Storage class for Prometheus and similar applications that + implement high availability in application layer. + This storage class uses XFS, has no block level redundancy and + has block device level caching disabled. provisioner: csi.proxmox.sinextra.dev reclaimPolicy: Retain volumeBindingMode: WaitForFirstConsumer @@ -55,10 +79,16 @@ parameters: cache: none ssd: "true" --- -apiVersion: storage.k8s.io/v1 +apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: woodpecker + annotations: + kubernetes.io/description: | + Storage class for Drone, Woodpecker and similar application + pipeline runs where Git repos are checked out to. + This storage class uses XFS, has no block level redundancy and it's + deleted as soon as the pod exits. provisioner: driver.longhorn.io reclaimPolicy: Delete volumeBindingMode: Immediate @@ -72,6 +102,11 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: gitea + annotations: + kubernetes.io/description: | + Storage class for Gitea and similar applications needing + block device level replication with 3 replicas using XFS filesystem and + best effort data locality. provisioner: driver.longhorn.io reclaimPolicy: Retain volumeBindingMode: Immediate @@ -85,6 +120,13 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: rabbitmq + annotations: + kubernetes.io/description: | + Storage class for RabbitMQ and similar applications + deployed in highly available fashion utilizing application level + replication needing persistent volume. + This storage class uses XFS, has no block level redundancy and + has block device level caching disabled. provisioner: csi.proxmox.sinextra.dev reclaimPolicy: Retain volumeBindingMode: WaitForFirstConsumer @@ -99,6 +141,13 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: redis + annotations: + kubernetes.io/description: | + Storage class for Redis, KeyDB, DragonflyDB and similar applications + deployed in highly available fashion utilizing application level + replication needing persistent volume for storing the snapshots. + This storage class uses XFS, has no block level redundancy and + has block device level caching disabled. provisioner: csi.proxmox.sinextra.dev reclaimPolicy: Retain volumeBindingMode: WaitForFirstConsumer @@ -108,3 +157,15 @@ parameters: storage: ks-pvs cache: none ssd: "true" +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: "null" + annotations: + kubernetes.io/description: | + Storage class for applications insisting on having a PV, but actually do + not and for data that can be discarded immediately +provisioner: rancher.io/local-path +reclaimPolicy: Delete +volumeBindingMode: WaitForFirstConsumer