forked from hswaw/hscloud
*: Simplify kube.PersistentVolumeClaims
Change-Id: I0a3e44de9f1c4db146fd1e493741f5fe381da3ae Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1768 Reviewed-by: q3k <q3k@hackerspace.pl>master
parent
527386ab0c
commit
f28cd62c0e
|
@ -65,15 +65,8 @@ local postgres = import '../../kube/postgres_v.libsonnet';
|
|||
},
|
||||
|
||||
media: top.ns.Contain(kube.PersistentVolumeClaim(cfg.name)) {
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: ['ReadWriteOnce'],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: '20Gi',
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
psql: postgres {
|
||||
|
|
|
@ -49,15 +49,8 @@ local kube = import "../../../kube/kube.libsonnet";
|
|||
|
||||
dataVolume: kube.PersistentVolumeClaim("appservice-irc-%s" % [name]) {
|
||||
metadata+: cfg.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "10Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
bootstrapJob: if cfg.bootstrapJob then (kube.Job("appservice-irc-%s-bootstrap" % [name]) {
|
||||
|
|
|
@ -58,15 +58,8 @@ local kube = import "../../../kube/kube.libsonnet";
|
|||
|
||||
dataVolume: kube.PersistentVolumeClaim("appservice-telegram-%s" % [name]) {
|
||||
metadata+: cfg.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "10Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
bootstrapJob: if cfg.bootstrapJob then (kube.Job("appservice-telegram-%s-bootstrap" % [name]) {
|
||||
|
|
|
@ -60,14 +60,8 @@ local kube = import "../../../kube/kube.libsonnet";
|
|||
},
|
||||
|
||||
dataVolume: app.ns.Contain(kube.PersistentVolumeClaim("coturn-data")) {
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "10Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
deployment: app.ns.Contain(kube.Deployment("coturn")) {
|
||||
|
|
|
@ -97,15 +97,8 @@ local postgres = import "../../../kube/postgres.libsonnet";
|
|||
|
||||
dataVolume: kube.PersistentVolumeClaim("synapse-data-waw3") {
|
||||
metadata+: app.metadata("synapse-data"),
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "50Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
// homeserver.yaml that will be used to run synapse (in synapseConfigMap).
|
||||
|
|
|
@ -31,15 +31,8 @@ local kube = import "../../../kube/kube.libsonnet";
|
|||
appservices:: error "appservices need to be provided",
|
||||
|
||||
dataVolume: app.ns.Contain(kube.PersistentVolumeClaim("synapse-data-waw3")) {
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "50Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
// homeserver.yaml that will be used to run synapse (in configMap).
|
||||
|
|
|
@ -19,15 +19,8 @@ local policies = import "../../kube/policies.libsonnet";
|
|||
ns: kube.Namespace(cfg.namespace),
|
||||
|
||||
pvc: oo.ns.Contain(kube.PersistentVolumeClaim("documentserver")) {
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "10Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
deploy: oo.ns.Contain(kube.Deployment("documentserver")) {
|
||||
|
|
|
@ -82,15 +82,8 @@ local kube = import "../../../kube/hscloud.libsonnet";
|
|||
],
|
||||
cache: kube.PersistentVolumeClaim(ix.name("octorpki")) {
|
||||
metadata+: ix.metadata("octorpki"),
|
||||
spec+: {
|
||||
storageClassName: cfg.octorpki.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "2Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.octorpki.storageClassName,
|
||||
},
|
||||
deployment: kube.Deployment(ix.name("octorpki")) {
|
||||
metadata+: ix.metadata("octorpki"),
|
||||
|
|
|
@ -112,15 +112,8 @@ local kube = import "../../../kube/kube.libsonnet";
|
|||
|
||||
authVolumeClaim: kube.PersistentVolumeClaim("auth-token-storage-3") {
|
||||
metadata+: env.metadata("auth-token-storage-3"),
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "1Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
authConfig: kube.ConfigMap("auth-config") {
|
||||
|
|
|
@ -835,15 +835,8 @@ local oa = kube.OpenAPI;
|
|||
# is known: https://benji-backup.me/restore.html#restoring-without-a-database
|
||||
data: kube.PersistentVolumeClaim(cluster.name("benji-data")) {
|
||||
metadata+: cluster.metadata,
|
||||
spec+: {
|
||||
storageClassName: cluster.spec.benji.metadataStorageClass,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "1Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cluster.spec.benji.metadataStorageClass,
|
||||
},
|
||||
|
||||
# Extra scripts.
|
||||
|
|
|
@ -141,14 +141,9 @@ local kube = import "../../../kube/hscloud.libsonnet";
|
|||
volumes: {
|
||||
[name]: kube.PersistentVolumeClaim(gerrit.name(name)) {
|
||||
metadata+: gerrit.metadata("storage"),
|
||||
storage: cfg.storageSize[name],
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: ["ReadWriteOnce"],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: cfg.storageSize[name],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
for name in ["etc", "git", "index", "cache", "db"]
|
||||
|
|
|
@ -86,27 +86,13 @@ local kube = import "../../kube/kube.libsonnet";
|
|||
pvc: {
|
||||
data: kube.PersistentVolumeClaim(sourcegraph.makeName("data")) {
|
||||
metadata+: sourcegraph.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "40Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
etc: kube.PersistentVolumeClaim(sourcegraph.makeName("etc")) {
|
||||
metadata+: sourcegraph.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "4Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
@ -83,28 +83,14 @@ local proxy = import "proxy.libsonnet";
|
|||
|
||||
volumeClaimMods: kube.PersistentVolumeClaim(factorio.makeName("factorio-mods")) {
|
||||
metadata+: factorio.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "1Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
volumeClaimData: kube.PersistentVolumeClaim(factorio.makeName("factorio")) {
|
||||
metadata+: factorio.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "5Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
configMap: kube.ConfigMap(factorio.makeName("config")) {
|
||||
|
|
|
@ -13,15 +13,8 @@ local kube = import "../../../kube/kube.libsonnet";
|
|||
metadata+: {
|
||||
namespace: cfg.namespace,
|
||||
},
|
||||
spec+: {
|
||||
storageClassName: "waw-hdd-redundant-3",
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "32Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: "waw-hdd-redundant-3",
|
||||
},
|
||||
deploy: kube.Deployment("proxy") {
|
||||
metadata+: {
|
||||
|
|
|
@ -20,31 +20,16 @@ local kube = import "../../kube/kube.libsonnet";
|
|||
local game = self,
|
||||
pvcs: {
|
||||
backups: ns.Contain(kube.PersistentVolumeClaim(named("backups"))) {
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: ["ReadWriteOnce"],
|
||||
resources: {
|
||||
requests: { storage: "10Gi" },
|
||||
},
|
||||
},
|
||||
storage: "10Gi",
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
saves: ns.Contain(kube.PersistentVolumeClaim(named("saves"))) {
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: ["ReadWriteOnce"],
|
||||
resources: {
|
||||
requests: { storage: "10Gi" },
|
||||
},
|
||||
},
|
||||
storage: "10Gi",
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
server: ns.Contain(kube.PersistentVolumeClaim(named("server"))) {
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: ["ReadWriteOnce"],
|
||||
resources: {
|
||||
requests: { storage: "10Gi" },
|
||||
},
|
||||
},
|
||||
storage: "10Gi",
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
},
|
||||
svc: ns.Contain(kube.Service(named("external"))) {
|
||||
|
|
|
@ -231,15 +231,8 @@ local redis = import "../../kube/redis.libsonnet";
|
|||
|
||||
volumeData: kube.PersistentVolumeClaim(pretalx.makeName("-data")) {
|
||||
metadata+: pretalx.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: ["ReadWriteOnce"],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "5Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
s3: kube.CephObjectStoreUser(pretalx.makeNameGlobal("-s3")) {
|
||||
|
|
|
@ -59,15 +59,8 @@ local redis = import "../../kube/redis.libsonnet";
|
|||
},
|
||||
|
||||
dataVolume: app.ns.Contain(kube.PersistentVolumeClaim("paperless-data")) {
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "100Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
deploy: app.ns.Contain(kube.Deployment("paperless")) {
|
||||
|
|
|
@ -32,6 +32,11 @@ kube {
|
|||
},
|
||||
},
|
||||
|
||||
// Remove deprecated `volume.beta.kubernetes.io/storage-class` annotation
|
||||
PersistentVolumeClaim(name): kube.PersistentVolumeClaim(name) {
|
||||
metadata+: { annotations: {} },
|
||||
},
|
||||
|
||||
CephObjectStoreUser(name): kube._Object("ceph.rook.io/v1", "CephObjectStoreUser", name) {
|
||||
local user = self,
|
||||
spec: error "spec must be defined",
|
||||
|
|
|
@ -68,15 +68,8 @@ local kube = import "kube.libsonnet";
|
|||
|
||||
volumeClaim: kube.PersistentVolumeClaim(postgres.makeName("postgres")) {
|
||||
metadata+: postgres.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: cfg.storageSize,
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
deployment: kube.Deployment(postgres.makeName("postgres")) {
|
||||
metadata+: postgres.metadata,
|
||||
|
|
|
@ -47,15 +47,8 @@ local kube = import "kube.libsonnet";
|
|||
|
||||
volumeClaim: kube.PersistentVolumeClaim(postgres.makeName("postgres")) {
|
||||
metadata+: postgres.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: cfg.storageSize,
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
deployment: kube.Deployment(postgres.makeName("postgres")) {
|
||||
metadata+: postgres.metadata,
|
||||
|
|
|
@ -44,15 +44,8 @@ local kube = import "kube.libsonnet";
|
|||
|
||||
volumeClaim: kube.PersistentVolumeClaim(redis.makeName("redis")) {
|
||||
metadata+: redis.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "5Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
deployment: kube.Deployment(redis.makeName("redis")) {
|
||||
metadata+: redis.metadata,
|
||||
|
|
|
@ -259,15 +259,8 @@ local kube = import "../../../kube/kube.libsonnet";
|
|||
metadata+: {
|
||||
namespace: cfg.namespace,
|
||||
},
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClasses.prometheus,
|
||||
accessModes: ["ReadWriteOnce"],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "16Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClasses.prometheus,
|
||||
},
|
||||
|
||||
// Network Policy governing access to the prometheus server.
|
||||
|
|
|
@ -64,15 +64,8 @@ local kube = import "../../../kube/hscloud.libsonnet";
|
|||
local victoria = self,
|
||||
|
||||
pvc: ns.Contain(kube.PersistentVolumeClaim("victoria-data")) {
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClasses.victoria,
|
||||
accessModes: ["ReadWriteOnce"],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "64Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClasses.victoria,
|
||||
},
|
||||
|
||||
authSecret: ns.Contain(kube.Secret("vmauth")) {
|
||||
|
@ -201,14 +194,9 @@ local kube = import "../../../kube/hscloud.libsonnet";
|
|||
},
|
||||
|
||||
pvc: ns.Contain(kube.PersistentVolumeClaim("grafana-data")) {
|
||||
storage: "8Gi",
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClasses.grafana,
|
||||
accessModes: ["ReadWriteOnce"],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "8Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
|
|
|
@ -27,15 +27,8 @@ local kube = import "../../kube/kube.libsonnet";
|
|||
|
||||
volumeClaim: kube.PersistentVolumeClaim(name) {
|
||||
metadata+: server.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "5Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
config: kube.ConfigMap(name + "-config") {
|
||||
|
|
|
@ -27,15 +27,8 @@ local kube = import "../../kube/kube.libsonnet";
|
|||
|
||||
volumeClaim: kube.PersistentVolumeClaim(name) {
|
||||
metadata+: server.metadata,
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "5Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
config: kube.ConfigMap(name + "-config") {
|
||||
|
|
|
@ -47,15 +47,8 @@ local kube = import "../../../kube/hscloud.libsonnet";
|
|||
ns: kube.Namespace(cfg.namespace),
|
||||
|
||||
data: ns.Contain(kube.PersistentVolumeClaim(cfg.prefix + "data")) {
|
||||
spec+: {
|
||||
storageClassName: "waw-hdd-redundant-3",
|
||||
accessModes: ["ReadWriteOnce"],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "50Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: "waw-hdd-redundant-3",
|
||||
},
|
||||
|
||||
// Make a *DatabaseInfo string for use by acore config. These are not any real
|
||||
|
@ -216,15 +209,8 @@ local kube = import "../../../kube/hscloud.libsonnet";
|
|||
},
|
||||
},
|
||||
panelData: ns.Contain(kube.PersistentVolumeClaim(cfg.prefix + "panel-data")) {
|
||||
spec+: {
|
||||
storageClassName: "waw-hdd-redundant-3",
|
||||
accessModes: ["ReadWriteOnce"],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "128Mi",
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: "waw-hdd-redundant-3",
|
||||
},
|
||||
panelDeploy: ns.Contain(kube.Deployment(cfg.prefix + "panel")) {
|
||||
spec+: {
|
||||
|
|
|
@ -44,14 +44,9 @@ local kube = import "../../../kube/hscloud.libsonnet";
|
|||
},
|
||||
|
||||
data: top.ns.Contain(kube.PersistentVolumeClaim("data")) {
|
||||
storage: "1Gi",
|
||||
spec+: {
|
||||
storageClassName: "waw-hdd-redundant-3",
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: "1Gi",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
service: top.ns.Contain(kube.Service(cfg.name)) {
|
||||
|
|
|
@ -63,15 +63,8 @@ local kube = import "../../../kube/hscloud.libsonnet";
|
|||
local mysql = self,
|
||||
|
||||
volume: top.ns.Contain(kube.PersistentVolumeClaim("wordpress-mysql")) {
|
||||
spec+: {
|
||||
storageClassName: cfg.storageClassName,
|
||||
accessModes: [ "ReadWriteOnce" ],
|
||||
resources: {
|
||||
requests: {
|
||||
storage: cfg.storageSize,
|
||||
},
|
||||
},
|
||||
},
|
||||
storageClass: cfg.storageClassName,
|
||||
},
|
||||
|
||||
deployment: top.ns.Contain(kube.Deployment("wordpress-mysql")) {
|
||||
|
|
Loading…
Reference in New Issue