kube: clean up PersistentVolumeClaims

There's no difference as far as jsonnet is concerned, but it may confuse newbies, as Service and SimpleIngress use double colon for its top-level kube helpers. This also removes any ambiguity as to whether this is manifested in final JSON. So we can make that a convention.

Change-Id: I01ad4ea63f4d5d8ee6e5d41c79637ba186548c6f
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1803
Reviewed-by: q3k <q3k@hackerspace.pl>
diff --git a/app/inventory/prod.jsonnet b/app/inventory/prod.jsonnet
index eb08009..5648692 100644
--- a/app/inventory/prod.jsonnet
+++ b/app/inventory/prod.jsonnet
@@ -65,8 +65,8 @@
   },
 
   media: top.ns.Contain(kube.PersistentVolumeClaim(cfg.name)) {
-    storage: '20Gi',
-    storageClass: cfg.storageClassName,
+    storage:: '20Gi',
+    storageClass:: cfg.storageClassName,
   },
 
   psql: postgres {
diff --git a/app/matrix/lib/appservice-irc.libsonnet b/app/matrix/lib/appservice-irc.libsonnet
index f696970..33fa5e1 100644
--- a/app/matrix/lib/appservice-irc.libsonnet
+++ b/app/matrix/lib/appservice-irc.libsonnet
@@ -49,8 +49,8 @@
 
         dataVolume: kube.PersistentVolumeClaim("appservice-irc-%s" % [name]) {
             metadata+: cfg.metadata,
-            storage: "10Gi",
-            storageClass: cfg.storageClassName,
+            storage:: "10Gi",
+            storageClass:: cfg.storageClassName,
         },
 
         bootstrapJob: if cfg.bootstrapJob then (kube.Job("appservice-irc-%s-bootstrap" % [name]) {
diff --git a/app/matrix/lib/appservice-telegram.libsonnet b/app/matrix/lib/appservice-telegram.libsonnet
index 209e855..77eac1d 100644
--- a/app/matrix/lib/appservice-telegram.libsonnet
+++ b/app/matrix/lib/appservice-telegram.libsonnet
@@ -58,8 +58,8 @@
 
         dataVolume: kube.PersistentVolumeClaim("appservice-telegram-%s" % [name]) {
             metadata+: cfg.metadata,
-            storage: "10Gi",
-            storageClass: cfg.storageClassName,
+            storage:: "10Gi",
+            storageClass:: cfg.storageClassName,
         },
 
         bootstrapJob: if cfg.bootstrapJob then (kube.Job("appservice-telegram-%s-bootstrap" % [name]) {
diff --git a/app/matrix/lib/coturn.libsonnet b/app/matrix/lib/coturn.libsonnet
index e63a0bc..f1b127b 100644
--- a/app/matrix/lib/coturn.libsonnet
+++ b/app/matrix/lib/coturn.libsonnet
@@ -60,8 +60,8 @@
     },
 
     dataVolume: app.ns.Contain(kube.PersistentVolumeClaim("coturn-data")) {
-        storage: "10Gi",
-        storageClass: cfg.storageClassName,
+        storage:: "10Gi",
+        storageClass:: cfg.storageClassName,
     },
 
     deployment: app.ns.Contain(kube.Deployment("coturn")) {
diff --git a/app/matrix/lib/matrix.libsonnet b/app/matrix/lib/matrix.libsonnet
index c72b060..29cdaf5 100644
--- a/app/matrix/lib/matrix.libsonnet
+++ b/app/matrix/lib/matrix.libsonnet
@@ -97,8 +97,8 @@
 
     dataVolume: kube.PersistentVolumeClaim("synapse-data-waw3") {
         metadata+: app.metadata("synapse-data"),
-        storage: "50Gi",
-        storageClass: cfg.storageClassName,
+        storage:: "50Gi",
+        storageClass:: cfg.storageClassName,
     },
 
     // homeserver.yaml that will be used to run synapse (in synapseConfigMap).
diff --git a/app/matrix/lib/synapse.libsonnet b/app/matrix/lib/synapse.libsonnet
index 925a715..07656da 100644
--- a/app/matrix/lib/synapse.libsonnet
+++ b/app/matrix/lib/synapse.libsonnet
@@ -31,8 +31,8 @@
     appservices:: error "appservices need to be provided",
 
     dataVolume: app.ns.Contain(kube.PersistentVolumeClaim("synapse-data-waw3")) {
-        storage: "50Gi",
-        storageClass: cfg.storageClassName,
+        storage:: "50Gi",
+        storageClass:: cfg.storageClassName,
     },
 
     // homeserver.yaml that will be used to run synapse (in configMap).
diff --git a/app/onlyoffice/prod.jsonnet b/app/onlyoffice/prod.jsonnet
index 6919b1a..dcb8036 100644
--- a/app/onlyoffice/prod.jsonnet
+++ b/app/onlyoffice/prod.jsonnet
@@ -19,8 +19,8 @@
         ns: kube.Namespace(cfg.namespace),
 
         pvc: oo.ns.Contain(kube.PersistentVolumeClaim("documentserver")) {
-            storage: "10Gi",
-            storageClass: cfg.storageClassName,
+            storage:: "10Gi",
+            storageClass:: cfg.storageClassName,
         },
 
         deploy: oo.ns.Contain(kube.Deployment("documentserver")) {
diff --git a/bgpwtf/cccampix/kube/ix.libsonnet b/bgpwtf/cccampix/kube/ix.libsonnet
index f8ed067..7b64397 100644
--- a/bgpwtf/cccampix/kube/ix.libsonnet
+++ b/bgpwtf/cccampix/kube/ix.libsonnet
@@ -82,8 +82,8 @@
             ],
             cache: kube.PersistentVolumeClaim(ix.name("octorpki")) {
                 metadata+: ix.metadata("octorpki"),
-                storage: "2Gi",
-                storageClass: cfg.octorpki.storageClassName,
+                storage:: "2Gi",
+                storageClass:: cfg.octorpki.storageClassName,
             },
             deployment: kube.Deployment(ix.name("octorpki")) {
                 metadata+: ix.metadata("octorpki"),
diff --git a/cluster/kube/lib/registry.libsonnet b/cluster/kube/lib/registry.libsonnet
index f291607..0e4ebb1 100644
--- a/cluster/kube/lib/registry.libsonnet
+++ b/cluster/kube/lib/registry.libsonnet
@@ -112,8 +112,8 @@
 
         authVolumeClaim: kube.PersistentVolumeClaim("auth-token-storage-3") {
             metadata+: env.metadata("auth-token-storage-3"),
-            storage: "1Gi",
-            storageClass: cfg.storageClassName,
+            storage:: "1Gi",
+            storageClass:: cfg.storageClassName,
         },
 
         authConfig: kube.ConfigMap("auth-config") {
diff --git a/cluster/kube/lib/rook.libsonnet b/cluster/kube/lib/rook.libsonnet
index b850d3e..7259f7e 100644
--- a/cluster/kube/lib/rook.libsonnet
+++ b/cluster/kube/lib/rook.libsonnet
@@ -835,8 +835,8 @@
             #    is known: https://benji-backup.me/restore.html#restoring-without-a-database
             data: kube.PersistentVolumeClaim(cluster.name("benji-data")) {
                 metadata+: cluster.metadata,
-                storage: "1Gi",
-                storageClass: cluster.spec.benji.metadataStorageClass,
+                storage:: "1Gi",
+                storageClass:: cluster.spec.benji.metadataStorageClass,
             },
 
             # Extra scripts.
diff --git a/devtools/gerrit/kube/gerrit.libsonnet b/devtools/gerrit/kube/gerrit.libsonnet
index 2d10f32..7fb4171 100644
--- a/devtools/gerrit/kube/gerrit.libsonnet
+++ b/devtools/gerrit/kube/gerrit.libsonnet
@@ -141,10 +141,8 @@
     volumes: {
         [name]: kube.PersistentVolumeClaim(gerrit.name(name)) {
             metadata+: gerrit.metadata("storage"),
-            storage: cfg.storageSize[name],
-            spec+: {
-                storageClassName: cfg.storageClassName,
-            },
+            storage:: cfg.storageSize[name],
+            storageClass:: cfg.storageClassName,
         }
         for name in ["etc", "git", "index", "cache", "db"]
     },
diff --git a/devtools/kube/sourcegraph.libsonnet b/devtools/kube/sourcegraph.libsonnet
index 6cce497..651bfc4 100644
--- a/devtools/kube/sourcegraph.libsonnet
+++ b/devtools/kube/sourcegraph.libsonnet
@@ -86,13 +86,13 @@
         pvc: {
             data: kube.PersistentVolumeClaim(sourcegraph.makeName("data")) {
                 metadata+: sourcegraph.metadata,
-                storage: "40Gi",
-                storageClass: cfg.storageClassName,
+                storage:: "40Gi",
+                storageClass:: cfg.storageClassName,
             },
             etc: kube.PersistentVolumeClaim(sourcegraph.makeName("etc")) {
                 metadata+: sourcegraph.metadata,
-                storage: "4Gi",
-                storageClass: cfg.storageClassName,
+                storage:: "4Gi",
+                storageClass:: cfg.storageClassName,
             },
         },
     }
diff --git a/games/factorio/kube/factorio.libsonnet b/games/factorio/kube/factorio.libsonnet
index a02b69a..7a3a06f 100644
--- a/games/factorio/kube/factorio.libsonnet
+++ b/games/factorio/kube/factorio.libsonnet
@@ -83,14 +83,14 @@
 
     volumeClaimMods: kube.PersistentVolumeClaim(factorio.makeName("factorio-mods")) {
         metadata+: factorio.metadata,
-        storage: "1Gi",
-        storageClass: cfg.storageClassName,
+        storage:: "1Gi",
+        storageClass:: cfg.storageClassName,
     },
 
     volumeClaimData: kube.PersistentVolumeClaim(factorio.makeName("factorio")) {
         metadata+: factorio.metadata,
-        storage: "5Gi",
-        storageClass: cfg.storageClassName,
+        storage:: "5Gi",
+        storageClass:: cfg.storageClassName,
     },
 
     configMap: kube.ConfigMap(factorio.makeName("config")) {
diff --git a/games/factorio/kube/proxy.libsonnet b/games/factorio/kube/proxy.libsonnet
index a25ba7c..4d94fb3 100644
--- a/games/factorio/kube/proxy.libsonnet
+++ b/games/factorio/kube/proxy.libsonnet
@@ -13,8 +13,8 @@
         metadata+: {
             namespace: cfg.namespace,
         },
-        storage: "32Gi",
-        storageClass: "waw-hdd-redundant-3",
+        storage:: "32Gi",
+        storageClass:: "waw-hdd-redundant-3",
     },
     deploy: kube.Deployment("proxy") {
         metadata+: {
diff --git a/games/valheim/prod.jsonnet b/games/valheim/prod.jsonnet
index 15f981a..0793e51 100644
--- a/games/valheim/prod.jsonnet
+++ b/games/valheim/prod.jsonnet
@@ -20,16 +20,16 @@
             local game = self,
             pvcs: {
                 backups: ns.Contain(kube.PersistentVolumeClaim(named("backups"))) {
-                    storage: "10Gi",
-                    storageClass: cfg.storageClassName,
+                    storage:: "10Gi",
+                    storageClass:: cfg.storageClassName,
                 },
                 saves: ns.Contain(kube.PersistentVolumeClaim(named("saves"))) {
-                    storage: "10Gi",
-                    storageClass: cfg.storageClassName,
+                    storage:: "10Gi",
+                    storageClass:: cfg.storageClassName,
                 },
                 server: ns.Contain(kube.PersistentVolumeClaim(named("server"))) {
-                    storage: "10Gi",
-                    storageClass: cfg.storageClassName,
+                    storage:: "10Gi",
+                    storageClass:: cfg.storageClassName,
                 },
             },
             svc: ns.Contain(kube.Service(named("external"))) {
diff --git a/hswaw/kube/pretalx.libsonnet b/hswaw/kube/pretalx.libsonnet
index d28aa59..1e340b0 100644
--- a/hswaw/kube/pretalx.libsonnet
+++ b/hswaw/kube/pretalx.libsonnet
@@ -231,8 +231,8 @@
 
         volumeData: kube.PersistentVolumeClaim(pretalx.makeName("-data")) {
             metadata+: pretalx.metadata,
-            storage: "5Gi",
-            storageClass: cfg.storageClassName,
+            storage:: "5Gi",
+            storageClass:: cfg.storageClassName,
         },
 
         s3: kube.CephObjectStoreUser(pretalx.makeNameGlobal("-s3")) {
diff --git a/hswaw/paperless/paperless.libsonnet b/hswaw/paperless/paperless.libsonnet
index ca34d5c..93c5413 100644
--- a/hswaw/paperless/paperless.libsonnet
+++ b/hswaw/paperless/paperless.libsonnet
@@ -59,8 +59,8 @@
     },
 
     dataVolume: app.ns.Contain(kube.PersistentVolumeClaim("paperless-data")) {
-        storage: "100Gi",
-        storageClass: cfg.storageClassName,
+        storage:: "100Gi",
+        storageClass:: cfg.storageClassName,
     },
 
     deploy: app.ns.Contain(kube.Deployment("paperless")) {
diff --git a/kube/postgres.libsonnet b/kube/postgres.libsonnet
index 11393ab..d5ffad4 100644
--- a/kube/postgres.libsonnet
+++ b/kube/postgres.libsonnet
@@ -68,8 +68,8 @@
 
     volumeClaim: kube.PersistentVolumeClaim(postgres.makeName("postgres")) {
         metadata+: postgres.metadata,
-        storage: cfg.storageSize,
-        storageClass: cfg.storageClassName,
+        storage:: cfg.storageSize,
+        storageClass:: cfg.storageClassName,
     },
     deployment: kube.Deployment(postgres.makeName("postgres")) {
         metadata+: postgres.metadata,
diff --git a/kube/postgres_v.libsonnet b/kube/postgres_v.libsonnet
index 1c4357a..ec7a7b8 100644
--- a/kube/postgres_v.libsonnet
+++ b/kube/postgres_v.libsonnet
@@ -47,8 +47,8 @@
 
     volumeClaim: kube.PersistentVolumeClaim(postgres.makeName("postgres")) {
         metadata+: postgres.metadata,
-        storage: cfg.storageSize,
-        storageClass: cfg.storageClassName,
+        storage:: cfg.storageSize,
+        storageClass:: cfg.storageClassName,
     },
     deployment: kube.Deployment(postgres.makeName("postgres")) {
         metadata+: postgres.metadata,
diff --git a/kube/redis.libsonnet b/kube/redis.libsonnet
index f382d8b..1464e7a 100644
--- a/kube/redis.libsonnet
+++ b/kube/redis.libsonnet
@@ -44,8 +44,8 @@
 
     volumeClaim: kube.PersistentVolumeClaim(redis.makeName("redis")) {
         metadata+: redis.metadata,
-        storage: "5Gi",
-        storageClass: cfg.storageClassName,
+        storage:: "5Gi",
+        storageClass:: cfg.storageClassName,
     },
     deployment: kube.Deployment(redis.makeName("redis")) {
         metadata+: redis.metadata,
diff --git a/ops/monitoring/lib/cluster.libsonnet b/ops/monitoring/lib/cluster.libsonnet
index 6191399..f7508ce 100644
--- a/ops/monitoring/lib/cluster.libsonnet
+++ b/ops/monitoring/lib/cluster.libsonnet
@@ -259,8 +259,8 @@
                 metadata+: {
                     namespace: cfg.namespace,
                 },
-                storage: "16Gi",
-                storageClass: cfg.storageClasses.prometheus,
+                storage:: "16Gi",
+                storageClass:: cfg.storageClasses.prometheus,
             },
 
             // Network Policy governing access to the prometheus server.
diff --git a/ops/monitoring/lib/global.libsonnet b/ops/monitoring/lib/global.libsonnet
index 9eb2f26..5a8bf30 100644
--- a/ops/monitoring/lib/global.libsonnet
+++ b/ops/monitoring/lib/global.libsonnet
@@ -64,8 +64,8 @@
             local victoria = self,
 
             pvc: ns.Contain(kube.PersistentVolumeClaim("victoria-data")) {
-                storage: "64Gi",
-                storageClass: cfg.storageClasses.victoria,
+                storage:: "64Gi",
+                storageClass:: cfg.storageClasses.victoria,
             },
 
             authSecret: ns.Contain(kube.Secret("vmauth")) {
@@ -194,10 +194,8 @@
             },
 
             pvc: ns.Contain(kube.PersistentVolumeClaim("grafana-data")) {
-                storage: "8Gi",
-                spec+: {
-                    storageClassName: cfg.storageClasses.grafana,
-                },
+                storage:: "8Gi",
+                storageClass:: cfg.storageClasses.grafana,
             },
 
             deploy: ns.Contain(kube.Deployment("grafana")) {
diff --git a/personal/noisersup/openrct2.jsonnet b/personal/noisersup/openrct2.jsonnet
index 9ec05d6..adaf8db 100644
--- a/personal/noisersup/openrct2.jsonnet
+++ b/personal/noisersup/openrct2.jsonnet
@@ -27,8 +27,8 @@
 
         volumeClaim: kube.PersistentVolumeClaim(name) {
             metadata+: server.metadata,
-            storage: "5Gi",
-            storageClass: cfg.storageClassName,
+            storage:: "5Gi",
+            storageClass:: cfg.storageClassName,
         },
 
         config: kube.ConfigMap(name + "-config") {
diff --git a/personal/q3k/openrct2.jsonnet b/personal/q3k/openrct2.jsonnet
index bb4cd05..ce49aa3 100644
--- a/personal/q3k/openrct2.jsonnet
+++ b/personal/q3k/openrct2.jsonnet
@@ -27,8 +27,8 @@
 
         volumeClaim: kube.PersistentVolumeClaim(name) {
             metadata+: server.metadata,
-            storage: "5Gi",
-            storageClass: cfg.storageClassName,
+            storage:: "5Gi",
+            storageClass:: cfg.storageClassName,
         },
 
         config: kube.ConfigMap(name + "-config") {
diff --git a/personal/q3k/wow/lib.libsonnet b/personal/q3k/wow/lib.libsonnet
index 9e24975..6c359c0 100644
--- a/personal/q3k/wow/lib.libsonnet
+++ b/personal/q3k/wow/lib.libsonnet
@@ -47,8 +47,8 @@
     ns: kube.Namespace(cfg.namespace),
 
     data: ns.Contain(kube.PersistentVolumeClaim(cfg.prefix + "data")) {
-        storage: "50Gi",
-        storageClass: "waw-hdd-redundant-3",
+        storage:: "50Gi",
+        storageClass:: "waw-hdd-redundant-3",
     },
 
     // Make a *DatabaseInfo string for use by acore config. These are not any real
@@ -209,8 +209,8 @@
         },
     },
     panelData: ns.Contain(kube.PersistentVolumeClaim(cfg.prefix + "panel-data")) {
-        storage: "128Mi",
-        storageClass: "waw-hdd-redundant-3",
+        storage:: "128Mi",
+        storageClass:: "waw-hdd-redundant-3",
     },
     panelDeploy: ns.Contain(kube.Deployment(cfg.prefix + "panel")) {
         spec+: {
diff --git a/personal/radex/demo-next/prod.jsonnet b/personal/radex/demo-next/prod.jsonnet
index b0308d0..5710030 100644
--- a/personal/radex/demo-next/prod.jsonnet
+++ b/personal/radex/demo-next/prod.jsonnet
@@ -44,10 +44,8 @@
     },
 
     data: top.ns.Contain(kube.PersistentVolumeClaim("data")) {
-        storage: "1Gi",
-        spec+: {
-            storageClassName: "waw-hdd-redundant-3",
-        },
+        storage:: "1Gi",
+        storageClass:: "waw-hdd-redundant-3",
     },
     service: top.ns.Contain(kube.Service(cfg.name)) {
         target:: top.deployment,
diff --git a/personal/radex/wordpress/prod.jsonnet b/personal/radex/wordpress/prod.jsonnet
index 55f43be..47e71e7 100644
--- a/personal/radex/wordpress/prod.jsonnet
+++ b/personal/radex/wordpress/prod.jsonnet
@@ -63,8 +63,8 @@
         local mysql = self,
 
         volume: top.ns.Contain(kube.PersistentVolumeClaim("wordpress-mysql")) {
-            storage: cfg.storageSize,
-            storageClass: cfg.storageClassName,
+            storage:: cfg.storageSize,
+            storageClass:: cfg.storageClassName,
         },
 
         deployment: top.ns.Contain(kube.Deployment("wordpress-mysql")) {