kube: add .volume field on PVCs and ConfigMaps
Change-Id: I93eec44bd6df4ecb0044a4797faa9bf6fd26802d
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1811
Reviewed-by: q3k <q3k@hackerspace.pl>
diff --git a/kube/kube.libsonnet b/kube/kube.libsonnet
index ac96451..001cfdb 100644
--- a/kube/kube.libsonnet
+++ b/kube/kube.libsonnet
@@ -32,11 +32,19 @@
},
},
- // Remove deprecated `volume.beta.kubernetes.io/storage-class` annotation
PersistentVolumeClaim(name): kube.PersistentVolumeClaim(name) {
+ // Convenience for creating a volume from a PVC
+ volume:: kube.PersistentVolumeClaimVolume(self),
+
+ // Remove deprecated `volume.beta.kubernetes.io/storage-class` annotation
metadata+: { annotations: {} },
},
+ ConfigMap(name): kube.ConfigMap(name) {
+ // Convenience for creating a volume from a ConfigMap
+ volume:: kube.ConfigMapVolume(self),
+ },
+
// Add `target` field
Service(name): kube.Service(name) {
// Deployment, Pod, DaemonSet, etc. that this Service is targeting.
diff --git a/kube/postgres.libsonnet b/kube/postgres.libsonnet
index d5ffad4..40f43dc 100644
--- a/kube/postgres.libsonnet
+++ b/kube/postgres.libsonnet
@@ -78,7 +78,7 @@
template+: {
spec+: {
volumes_: {
- data: kube.PersistentVolumeClaimVolume(postgres.volumeClaim),
+ data: postgres.volumeClaim.volume,
},
containers_: {
postgres: kube.Container(postgres.makeName("postgres")) {
diff --git a/kube/postgres_v.libsonnet b/kube/postgres_v.libsonnet
index ec7a7b8..695422c 100644
--- a/kube/postgres_v.libsonnet
+++ b/kube/postgres_v.libsonnet
@@ -57,7 +57,7 @@
template+: {
spec+: {
volumes_: {
- data: kube.PersistentVolumeClaimVolume(postgres.volumeClaim),
+ data: postgres.volumeClaim.volume,
},
containers_: {
postgres: kube.Container(postgres.makeName("postgres")) {
diff --git a/kube/redis.libsonnet b/kube/redis.libsonnet
index 1464e7a..5d84f66 100644
--- a/kube/redis.libsonnet
+++ b/kube/redis.libsonnet
@@ -54,7 +54,7 @@
template+: {
spec+: {
volumes_: {
- data: kube.PersistentVolumeClaimVolume(redis.volumeClaim),
+ data: redis.volumeClaim.volume,
},
containers_: {
redis: kube.Container(redis.makeName("redis")) {