*: Simplify kube.PersistentVolumeClaims

Change-Id: I0a3e44de9f1c4db146fd1e493741f5fe381da3ae
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1768
Reviewed-by: q3k <q3k@hackerspace.pl>
diff --git a/personal/noisersup/openrct2.jsonnet b/personal/noisersup/openrct2.jsonnet
index cd9eec0..9ec05d6 100644
--- a/personal/noisersup/openrct2.jsonnet
+++ b/personal/noisersup/openrct2.jsonnet
@@ -27,20 +27,13 @@
 
         volumeClaim: kube.PersistentVolumeClaim(name) {
             metadata+: server.metadata,
-            spec+: {
-                storageClassName: cfg.storageClassName,
-                accessModes: [ "ReadWriteOnce" ],
-                resources: {
-                    requests: {
-                        storage: "5Gi",
-                    },
-                },
-            },
+            storage: "5Gi",
+            storageClass: cfg.storageClassName,
         },
 
         config: kube.ConfigMap(name + "-config") {
             metadata+: server.metadata,
-            
+
             // admins with local server as co-admin
             local admins = cfg.admins + {
                 openrct2: "",
diff --git a/personal/q3k/openrct2.jsonnet b/personal/q3k/openrct2.jsonnet
index 26ea393..bb4cd05 100644
--- a/personal/q3k/openrct2.jsonnet
+++ b/personal/q3k/openrct2.jsonnet
@@ -27,20 +27,13 @@
 
         volumeClaim: kube.PersistentVolumeClaim(name) {
             metadata+: server.metadata,
-            spec+: {
-                storageClassName: cfg.storageClassName,
-                accessModes: [ "ReadWriteOnce" ],
-                resources: {
-                    requests: {
-                        storage: "5Gi",
-                    },
-                },
-            },
+            storage: "5Gi",
+            storageClass: cfg.storageClassName,
         },
 
         config: kube.ConfigMap(name + "-config") {
             metadata+: server.metadata,
-            
+
             // admins with local server as co-admin
             local admins = cfg.admins + {
                 openrct2: "",
diff --git a/personal/q3k/wow/lib.libsonnet b/personal/q3k/wow/lib.libsonnet
index 03127e9..9e24975 100644
--- a/personal/q3k/wow/lib.libsonnet
+++ b/personal/q3k/wow/lib.libsonnet
@@ -47,15 +47,8 @@
     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",
-                },
-            },
-        },
+        storage: "50Gi",
+        storageClass: "waw-hdd-redundant-3",
     },
 
     // Make a *DatabaseInfo string for use by acore config. These are not any real
@@ -165,7 +158,7 @@
             },
         },
     },
-    
+
     soapSvc: ns.Contain(kube.Service(cfg.prefix + "worldserver-soap")) {
         target_pod:: wow.worldserverDeploy.spec.template,
         spec+: {
@@ -216,15 +209,8 @@
         },
     },
     panelData: ns.Contain(kube.PersistentVolumeClaim(cfg.prefix + "panel-data")) {
-        spec+: {
-            storageClassName: "waw-hdd-redundant-3",
-            accessModes: ["ReadWriteOnce"],
-            resources: {
-                requests: {
-                    storage: "128Mi",
-                },
-            },
-        },
+        storage: "128Mi",
+        storageClass: "waw-hdd-redundant-3",
     },
     panelDeploy: ns.Contain(kube.Deployment(cfg.prefix + "panel")) {
         spec+: {
@@ -245,7 +231,7 @@
                                 "-soap_address", "http://%s" % [wow.soapSvc.host_colon_port],
                                 "-soap_password", "$(SOAP_PASSWORD)",
                                 "-secret", "$(SECRET)",
-                                "-oauth_client_id", cfg.panel.oauth.clientID, 
+                                "-oauth_client_id", cfg.panel.oauth.clientID,
                                 "-oauth_client_secret", "$(OAUTH_SECRET)",
                                 "-oauth_redirect_url", cfg.panel.oauth.redirectURL,
                                 "-motd", "/secret/motd.txt",
diff --git a/personal/radex/demo-next/prod.jsonnet b/personal/radex/demo-next/prod.jsonnet
index c5abec7..30a0feb 100644
--- a/personal/radex/demo-next/prod.jsonnet
+++ b/personal/radex/demo-next/prod.jsonnet
@@ -44,14 +44,9 @@
     },
 
     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)) {
diff --git a/personal/radex/wordpress/prod.jsonnet b/personal/radex/wordpress/prod.jsonnet
index e3f457c..7b01580 100644
--- a/personal/radex/wordpress/prod.jsonnet
+++ b/personal/radex/wordpress/prod.jsonnet
@@ -63,15 +63,8 @@
         local mysql = self,
 
         volume: top.ns.Contain(kube.PersistentVolumeClaim("wordpress-mysql")) {
-            spec+: {
-                storageClassName: cfg.storageClassName,
-                accessModes: [ "ReadWriteOnce" ],
-                resources: {
-                    requests: {
-                        storage: cfg.storageSize,
-                    },
-                },
-            },
+            storage: cfg.storageSize,
+            storageClass: cfg.storageClassName,
         },
 
         deployment: top.ns.Contain(kube.Deployment("wordpress-mysql")) {