kube: add target:: convenience field to Service
Change-Id: If69116d93b6074136a36d98973e1aa997e2ebbef
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1802
Reviewed-by: q3k <q3k@hackerspace.pl>
diff --git a/kube/kube.libsonnet b/kube/kube.libsonnet
index a8fe444..ac96451 100644
--- a/kube/kube.libsonnet
+++ b/kube/kube.libsonnet
@@ -37,6 +37,13 @@
metadata+: { annotations: {} },
},
+ // Add `target` field
+ Service(name): kube.Service(name) {
+ // Deployment, Pod, DaemonSet, etc. that this Service is targeting.
+ target:: error "service target must be defined",
+ target_pod:: kube.podRef(self.target),
+ },
+
CephObjectStoreUser(name): kube._Object("ceph.rook.io/v1", "CephObjectStoreUser", name) {
local user = self,
spec: error "spec must be defined",
diff --git a/kube/mirko.libsonnet b/kube/mirko.libsonnet
index 4f7d501..cca39ed 100644
--- a/kube/mirko.libsonnet
+++ b/kube/mirko.libsonnet
@@ -125,7 +125,7 @@
volumes:: {},
containers:: {
main: cfg.container,
- },
+ },
nodeSelector: null,
securityContext: {},
container:: error "container(s) must be set",
@@ -202,7 +202,7 @@
svc: kube.Service(component.makeName("")) { // No suffix, name part of DNS entry.
metadata+: component.metadata,
- target_pod:: component.deployment.spec.template,
+ target:: component.deployment,
spec+: {
ports: [
{
@@ -222,7 +222,7 @@
pki: {
cert: kube.Certificate(component.makeName("-cert")) {
metadata+: component.metadata,
-
+
spec: {
secretName: component.makeName("-cert"),
duration: "35040h0m0s", // 4 years
diff --git a/kube/postgres.libsonnet b/kube/postgres.libsonnet
index ac29f26..11393ab 100644
--- a/kube/postgres.libsonnet
+++ b/kube/postgres.libsonnet
@@ -171,7 +171,7 @@
svc: kube.Service(postgres.makeName("postgres")) {
metadata+: postgres.metadata,
- target_pod:: postgres.deployment.spec.template,
+ target:: postgres.deployment,
spec+: {
ports: [
{ name: "client", port: 5432, targetPort: 5432, protocol: "TCP" },
@@ -213,7 +213,7 @@
"app.kubernetes.io/component": "bouncer",
}
},
- target_pod:: postgres.bouncer.deployment.spec.template,
+ target:: postgres.bouncer.deployment,
spec+: {
ports: [
{ name: "client", port: 5432, targetPort: 5432, protocol: "TCP" },
diff --git a/kube/postgres_v.libsonnet b/kube/postgres_v.libsonnet
index ce8dc85..1c4357a 100644
--- a/kube/postgres_v.libsonnet
+++ b/kube/postgres_v.libsonnet
@@ -94,7 +94,7 @@
svc: kube.Service(postgres.makeName("postgres")) {
metadata+: postgres.metadata,
- target_pod:: postgres.deployment.spec.template,
+ target:: postgres.deployment,
spec+: {
ports: [
{ name: "client", port: 5432, targetPort: 5432, protocol: "TCP" },
@@ -136,7 +136,7 @@
"app.kubernetes.io/component": "bouncer",
}
},
- target_pod:: postgres.bouncer.deployment.spec.template,
+ target:: postgres.bouncer.deployment,
spec+: {
ports: [
{ name: "client", port: 5432, targetPort: 5432, protocol: "TCP" },
diff --git a/kube/redis.libsonnet b/kube/redis.libsonnet
index 9c21c49..f382d8b 100644
--- a/kube/redis.libsonnet
+++ b/kube/redis.libsonnet
@@ -87,7 +87,7 @@
},
svc: kube.Service(redis.makeName("redis")) {
metadata+: redis.metadata,
- target_pod:: redis.deployment.spec.template,
+ target:: redis.deployment,
spec+: {
ports: [
{ name: "client", port: 6379, targetPort: 6379, protocol: "TCP" },