*: Simplify kube.PersistentVolumeClaims

Change-Id: I0a3e44de9f1c4db146fd1e493741f5fe381da3ae
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1768
Reviewed-by: q3k <q3k@hackerspace.pl>
master
radex 2023-11-03 17:30:10 +01:00 committed by radex
parent 527386ab0c
commit f28cd62c0e
28 changed files with 85 additions and 298 deletions

View File

@ -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 {

View File

@ -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]) {

View File

@ -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]) {

View File

@ -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")) {

View File

@ -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).

View File

@ -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).

View File

@ -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")) {

View File

@ -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"),

View File

@ -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") {

View File

@ -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.

View File

@ -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"]

View File

@ -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,
},
},
}

View File

@ -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")) {

View File

@ -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+: {

View File

@ -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"))) {

View File

@ -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")) {

View File

@ -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")) {

View File

@ -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",

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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.

View File

@ -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",
},
},
},
},

View File

@ -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") {

View File

@ -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") {

View File

@ -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+: {

View File

@ -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)) {

View File

@ -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")) {