cluster/kube: refactor, add crdb-waw1
diff --git a/cluster/kube/cluster.jsonnet b/cluster/kube/cluster.jsonnet
index ee21b04..1b988b9 100644
--- a/cluster/kube/cluster.jsonnet
+++ b/cluster/kube/cluster.jsonnet
@@ -1,13 +1,15 @@
# Top level cluster configuration.
local kube = import "../../kube/kube.libsonnet";
-local coredns = import "lib/coredns.libsonnet";
-local metrics = import "lib/metrics.libsonnet";
+
local calico = import "lib/calico.libsonnet";
+local certmanager = import "lib/cert-manager.libsonnet";
+local cockroachdb = import "lib/cockroachdb.libsonnet";
+local coredns = import "lib/coredns.libsonnet";
local metallb = import "lib/metallb.libsonnet";
+local metrics = import "lib/metrics.libsonnet";
local nginx = import "lib/nginx.libsonnet";
local rook = import "lib/rook.libsonnet";
-local certmanager = import "lib/cert-manager.libsonnet";
local Cluster(fqdn) = {
local cluster = self,
@@ -86,77 +88,94 @@
},
},
},
- // waw1 ceph cluster
- cephWaw1: rook.Cluster(cluster.rook, "ceph-waw1") {
- spec: {
- mon: {
- count: 3,
- allowMultiplePerNode: false,
- },
- storage: {
- useAllNodes: false,
- useAllDevices: false,
- config: {
- databaseSizeMB: "1024",
- journalSizeMB: "1024",
- },
- nodes: [
- {
- name: "bc01n01.hswaw.net",
- location: "rack=dcr01 chassis=bc01 host=bc01n01",
- devices: [ { name: "sda" } ],
- },
- {
- name: "bc01n02.hswaw.net",
- location: "rack=dcr01 chassis=bc01 host=bc01n02",
- devices: [ { name: "sda" } ],
- },
- {
- name: "bc01n03.hswaw.net",
- location: "rack=dcr01 chassis=bc01 host=bc01n03",
- devices: [ { name: "sda" } ],
- },
- ],
- },
- },
- },
- // redundant block storage
- cephWaw1Redundant: rook.ECBlockPool(cluster.cephWaw1, "waw-hdd-redundant-1") {
- spec: {
- failureDomain: "host",
- erasureCoded: {
- dataChunks: 2,
- codingChunks: 1,
- },
- },
- },
- // 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: {
- failureDomain: "host",
- replicated: { size: 3 },
- },
- dataPool: {
- failureDomain: "host",
- erasureCoded: {
- dataChunks: 2,
- codingChunks: 1,
- },
- },
- },
- },
};
{
- k0: Cluster("k0.hswaw.net"),
+ k0: {
+ local k0 = self,
+ cluster: Cluster("k0.hswaw.net"),
+ cockroach: {
+ waw1: cockroachdb.Cluster("crdb-waw1") {
+ cfg+: {
+ topology: [
+ { name: "bc01n01", node: "bc01n01.hswaw.net", ip: "185.236.240.35" },
+ { name: "bc01n02", node: "bc01n02.hswaw.net", ip: "185.236.240.36" },
+ { name: "bc01n03", node: "bc01n03.hswaw.net", ip: "185.236.240.37" },
+ ],
+ hostPath: "/var/db/crdb-waw1",
+ },
+ },
+ },
+ ceph: {
+ // waw1 cluster
+ waw1: rook.Cluster(k0.cluster.rook, "ceph-waw1") {
+ spec: {
+ mon: {
+ count: 3,
+ allowMultiplePerNode: false,
+ },
+ storage: {
+ useAllNodes: false,
+ useAllDevices: false,
+ config: {
+ databaseSizeMB: "1024",
+ journalSizeMB: "1024",
+ },
+ nodes: [
+ {
+ name: "bc01n01.hswaw.net",
+ location: "rack=dcr01 chassis=bc01 host=bc01n01",
+ devices: [ { name: "sda" } ],
+ },
+ {
+ name: "bc01n02.hswaw.net",
+ location: "rack=dcr01 chassis=bc01 host=bc01n02",
+ devices: [ { name: "sda" } ],
+ },
+ {
+ name: "bc01n03.hswaw.net",
+ location: "rack=dcr01 chassis=bc01 host=bc01n03",
+ devices: [ { name: "sda" } ],
+ },
+ ],
+ },
+ },
+ },
+ // redundant block storage
+ blockRedundant: rook.ECBlockPool(k0.ceph.waw1, "waw-hdd-redundant-1") {
+ spec: {
+ failureDomain: "host",
+ erasureCoded: {
+ dataChunks: 2,
+ codingChunks: 1,
+ },
+ },
+ },
+ // yolo block storage (no replicas!)
+ blockYolo: rook.ReplicatedBlockPool(k0.ceph.waw1, "waw-hdd-yolo-1") {
+ spec: {
+ failureDomain: "host",
+ replicated: {
+ size: 1,
+ },
+ },
+ },
+ objectRedundant: rook.S3ObjectStore(k0.ceph.waw1, "waw-hdd-redundant-1-object") {
+ spec: {
+ metadataPool: {
+ failureDomain: "host",
+ replicated: { size: 3 },
+ },
+ dataPool: {
+ failureDomain: "host",
+ erasureCoded: {
+ dataChunks: 2,
+ codingChunks: 1,
+ },
+ },
+ },
+ },
+ },
+ },
}