diff --git a/templates/components/grafana.jsonnet b/templates/components/grafana.jsonnet index ccc92d4b..d9314a84 100644 --- a/templates/components/grafana.jsonnet +++ b/templates/components/grafana.jsonnet @@ -18,7 +18,8 @@ local images = import "values/images.jsonnet"; .with_reservations("0.1", "128M") .with_port(9090, 9090, "http") .with_volume_mount(cfgVol, "/etc/prometheus") - .with_volume_mount(vol, "/prometheus"); + .with_volume_mount(vol, "/prometheus") +; local containerSet = engine.containers( "prometheus", [ container ] @@ -57,10 +58,11 @@ local images = import "values/images.jsonnet"; .with_limits("1.0", "256M") .with_reservations("0.5", "256M") .with_port(3000, 3000, "cassandra") - .with_volume_mount(vol, "/var/lib/grafana") - .with_volume_mount(cv1, "/etc/grafana/provisioning/dashboards/dashboard.yml") - .with_volume_mount(cv2, "/etc/grafana/provisioning/datasources/datasource.yml") - .with_volume_mount(cv3, "/var/lib/grafana/dashboards/dashboard.json"); +// .with_volume_mount(vol, "/var/lib/grafana") +// .with_volume_mount(cv1, "/etc/grafana/provisioning/dashboards/dashboard.yml") +// .with_volume_mount(cv2, "/etc/grafana/provisioning/datasources/datasource.yml") +// .with_volume_mount(cv3, "/var/lib/grafana/dashboards/dashboard.json") +; local containerSet = engine.containers( "grafana", [ container ] diff --git a/templates/k8s.jsonnet b/templates/k8s.jsonnet index fa981354..facf3ce1 100644 --- a/templates/k8s.jsonnet +++ b/templates/k8s.jsonnet @@ -26,7 +26,7 @@ function(vol, mnt) self + { volumes: super.volumes + [{ - volume: vol.name, mount: mnt + volume: vol, mount: mnt }] }, @@ -99,24 +99,32 @@ ) ] } - else {}) + else {}) + + + (if std.length(container.volumes) > 0 then + { + volumes: [ + { + mountPath: vol.mount, + name: vol.volume.name, + } + for vol in container.volumes + ] + } + + else + {} + ) + ], + volumes: [ + vol.volume.volRef() + for vol in container.volumes ] } }, } + {} -/* - - (if std.length(container.volumes) > 0 then - { - volumes: [ - "%s:%s" % [vol.volume, vol.mount] - for vol in container.volumes - ] - } - else {}) -*/ } } @@ -146,9 +154,50 @@ with_size:: function(size) self + { size: size }, add:: function() { - volumes +: { - [volume.name]: {} + resources +: { + [volume.name + "-pv"]: { + apiVersion: "v1", + kind: "PersistentVolume", + metadata: { + name: volume.name, + labels: { + type: "local", + } + }, + spec: { + storageClassName: "manual", + capacity: { + storage: volume.size, + }, + accessModes: [ "ReadWriteOnce" ], + hostPath: { + path: "/mnt/" + volume.name, + } + } + }, + [volume.name + "-pvc"]: { + apiVersion: "v1", + kind: "PersistentVolumeClaim", + metadata: { + name: volume.name, + }, + spec: { + storageClassName: "manual", + accessModes: [ "ReadWriteOnce" ], + resources: { + requests: { + storage: volume.size, + } + }, + volumeName: volume.name + "-pv", + } + } } + }, + + volRef:: function() { + name: volume.name, + persistentVolumeClaim: { name: volume.name }, } }, @@ -164,6 +213,11 @@ with_size:: function(size) self + { size: size }, add:: function() { + }, + + volRef:: function() { + name: volume.name, + ASDpersistentVolumeClaim: { name: volume.name }, } },