yesod-mirror/k8s/configs/environments/storage/main.jsonnet

61 lines
2.2 KiB
Jsonnet
Raw Permalink Normal View History

local base = import "k8s/configs/base.libsonnet";
local nfs = import "k8s/configs/templates/core/storage/nfs-client-provisioner.libsonnet";
local consul = import "k8s/configs/templates/core/network/consul.libsonnet";
local namespace = "storage";
local ctx = base.NewContext(base.helm);
{
namespace: {
apiVersion: "v1",
kind: "Namespace",
metadata: {
name: namespace,
},
},
clusterRoles: {
nfsProvisioner: nfs.ClusterRole("storage-nfs-provisioner"),
},
clusterRoleBindings: {
nfsClusterRoleBinding: nfs.ClusterRoleBinding("storage-nfs-provisioners", nfs.ClusterRoleBindingParams {
clusterRoleName: "storage-nfs-provisioner",
subjects: [
{
kind: "ServiceAccount",
name: "nfs-client-provisioner",
namespace: namespace,
},
{
kind: "ServiceAccount",
name: "nfs-bulk-provisioner",
namespace: namespace,
},
],
}),
},
storageClasses: {
nfsClientStorageClass: nfs.StorageClass("nfs-client", nfs.StorageClassParams{
provisionerName: "cluster.local/nfs-client-provisioner",
}),
nfsBulkStorageClass: nfs.StorageClass("nfs-bulk", nfs.StorageClassParams{
provisionerName: "cluster.local/nfs-bulk-provisioner-nfs-client-provisioner",
}),
},
apps: {
nfsClientProvisioner: nfs.App(nfs.Params {
namespace: namespace,
name: "nfs-client-provisioner",
storageClassName: "nfs-client",
provisionerName: "cluster.local/nfs-client-provisioner",
nfsServerAddr: "apollo1.dominion.lan",
nfsServerPath: "/volume3/fs",
}),
nfsBulkProvisioner: nfs.App(nfs.Params {
namespace: namespace,
name: "nfs-bulk-provisioner",
storageClassName: "nfs-bulk",
provisionerName: "cluster.local/nfs-bulk-provisioner-nfs-client-provisioner",
nfsServerAddr: "apollo2.dominion.lan",
nfsServerPath: "/volume4/fs-bulk",
}),
},
}