From aff54f33e11b266cc54e71c8609d10d0edc347ae Mon Sep 17 00:00:00 2001 From: rasmus Date: Thu, 14 Aug 2025 01:48:55 +0300 Subject: [PATCH] storage-classes to rook --- rook-ceph/storage-classes.yaml | 149 +++++++++++++++++++++++++++++++++ storage-class.yaml | 149 --------------------------------- 2 files changed, 149 insertions(+), 149 deletions(-) delete mode 100644 storage-class.yaml diff --git a/rook-ceph/storage-classes.yaml b/rook-ceph/storage-classes.yaml index e69de29..61c919c 100644 --- a/rook-ceph/storage-classes.yaml +++ b/rook-ceph/storage-classes.yaml @@ -0,0 +1,149 @@ +--- +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. +provisioner: rook-ceph.rbd.csi.ceph.com +parameters: + clusterID: rook-ceph + csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner + csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph + csi.storage.k8s.io/fstype: xfs + csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node + csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph + csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner + csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph + imageFeatures: layering + imageFormat: '2' + pool: ks-nvme +reclaimPolicy: Retain +allowVolumeExpansion: true +volumeBindingMode: WaitForFirstConsumer +--- +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. +provisioner: rook-ceph.rbd.csi.ceph.com +parameters: + clusterID: rook-ceph + csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner + csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph + csi.storage.k8s.io/fstype: xfs + csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node + csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph + csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner + csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph + imageFeatures: layering + imageFormat: '2' + pool: ks-nvme +reclaimPolicy: Retain +allowVolumeExpansion: true +volumeBindingMode: WaitForFirstConsumer +--- +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 +allowVolumeExpansion: true +parameters: + dataLocality: best-effort + numberOfReplicas: "1" + fsType: "xfs" +--- +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 +allowVolumeExpansion: true +parameters: + dataLocality: best-effort + numberOfReplicas: "3" + fsType: "xfs" +--- +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. +provisioner: rook-ceph.rbd.csi.ceph.com +parameters: + clusterID: rook-ceph + csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner + csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph + csi.storage.k8s.io/fstype: xfs + csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node + csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph + csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner + csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph + imageFeatures: layering + imageFormat: '2' + pool: ks-nvme +reclaimPolicy: Retain +allowVolumeExpansion: true +volumeBindingMode: WaitForFirstConsumer +--- +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: hdd-ceph + annotations: + kubernetes.io/description: | + Generic HDD storage on CEPH. +provisioner: rook-ceph.rbd.csi.ceph.com +parameters: + clusterID: rook-ceph + csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner + csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph + csi.storage.k8s.io/fstype: xfs + csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node + csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph + csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner + csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph + imageFeatures: layering + imageFormat: '2' + pool: ks-hdd +reclaimPolicy: Retain +allowVolumeExpansion: true +volumeBindingMode: WaitForFirstConsumer +--- +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 diff --git a/storage-class.yaml b/storage-class.yaml deleted file mode 100644 index 61c919c..0000000 --- a/storage-class.yaml +++ /dev/null @@ -1,149 +0,0 @@ ---- -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. -provisioner: rook-ceph.rbd.csi.ceph.com -parameters: - clusterID: rook-ceph - csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner - csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph - csi.storage.k8s.io/fstype: xfs - csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node - csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph - csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner - csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph - imageFeatures: layering - imageFormat: '2' - pool: ks-nvme -reclaimPolicy: Retain -allowVolumeExpansion: true -volumeBindingMode: WaitForFirstConsumer ---- -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. -provisioner: rook-ceph.rbd.csi.ceph.com -parameters: - clusterID: rook-ceph - csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner - csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph - csi.storage.k8s.io/fstype: xfs - csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node - csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph - csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner - csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph - imageFeatures: layering - imageFormat: '2' - pool: ks-nvme -reclaimPolicy: Retain -allowVolumeExpansion: true -volumeBindingMode: WaitForFirstConsumer ---- -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 -allowVolumeExpansion: true -parameters: - dataLocality: best-effort - numberOfReplicas: "1" - fsType: "xfs" ---- -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 -allowVolumeExpansion: true -parameters: - dataLocality: best-effort - numberOfReplicas: "3" - fsType: "xfs" ---- -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. -provisioner: rook-ceph.rbd.csi.ceph.com -parameters: - clusterID: rook-ceph - csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner - csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph - csi.storage.k8s.io/fstype: xfs - csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node - csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph - csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner - csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph - imageFeatures: layering - imageFormat: '2' - pool: ks-nvme -reclaimPolicy: Retain -allowVolumeExpansion: true -volumeBindingMode: WaitForFirstConsumer ---- -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: hdd-ceph - annotations: - kubernetes.io/description: | - Generic HDD storage on CEPH. -provisioner: rook-ceph.rbd.csi.ceph.com -parameters: - clusterID: rook-ceph - csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner - csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph - csi.storage.k8s.io/fstype: xfs - csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node - csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph - csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner - csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph - imageFeatures: layering - imageFormat: '2' - pool: ks-hdd -reclaimPolicy: Retain -allowVolumeExpansion: true -volumeBindingMode: WaitForFirstConsumer ---- -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