bazel-cache: deploy, add waw-hdd-yolo-1 ceph pool
diff --git a/cluster/README b/cluster/README
index 39f9190..f5b5970 100644
--- a/cluster/README
+++ b/cluster/README
@@ -34,6 +34,7 @@
The following storage classes use this cluster:
- `waw-hdd-redundant-1` - erasure coded 2.1
+ - `waw-hdd-yolo-1` - unreplicated (you _will_ lose your data)
- `waw-hdd-redundant-1-object` - erasure coded 2.1 object store
A dashboard is available at https://ceph-waw1.hswaw.net/, to get the admin password run:
diff --git a/cluster/kube/cluster.jsonnet b/cluster/kube/cluster.jsonnet
index a4d8680..42dd2e3 100644
--- a/cluster/kube/cluster.jsonnet
+++ b/cluster/kube/cluster.jsonnet
@@ -122,6 +122,15 @@
},
},
},
+ // yolo block storage (no replicas!)
+ cephWaw1Yolo: rook.ReplicatedBlockPool(cluster.cephWaw1, "waw-hdd-yolo-1") {
+ spec: {
+ failureDomain: "host",
+ replicated: {
+ size: 1,
+ },
+ },
+ },
cephWaw1Object: rook.S3ObjectStore(cluster.cephWaw1, "waw-hdd-redundant-1-object") {
spec: {
metadataPool: {
diff --git a/cluster/kube/lib/rook.libsonnet b/cluster/kube/lib/rook.libsonnet
index f75e9f0..5223654 100644
--- a/cluster/kube/lib/rook.libsonnet
+++ b/cluster/kube/lib/rook.libsonnet
@@ -469,6 +469,26 @@
}
},
+ ReplicatedBlockPool(cluster, name):: {
+ local pool = self,
+ spec:: error "spec must be specified",
+
+ pool: kube._Object("ceph.rook.io/v1", "CephBlockPool", name) {
+ metadata+: cluster.metadata,
+ spec: pool.spec,
+ },
+
+ storageClass: kube.StorageClass(name) {
+ provisioner: "ceph.rook.io/block",
+ parameters: {
+ blockPool: pool.pool.metadata.name,
+ clusterNamespace: pool.pool.metadata.namespace,
+ fstype: "ext4",
+ },
+ reclaimPolicy: "Retain",
+ },
+ },
+
ECBlockPool(cluster, name):: {
local pool = self,
spec:: error "spec must be specified",