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/app/inventory/prod.jsonnet b/app/inventory/prod.jsonnet
index d8ecdf8..eb08009 100644
--- a/app/inventory/prod.jsonnet
+++ b/app/inventory/prod.jsonnet
@@ -84,7 +84,7 @@
   },
 
   service: top.ns.Contain(kube.Service(cfg.name)) {
-    target_pod:: top.deployment.spec.template,
+    target:: top.deployment,
   },
 
   ingress: top.ns.Contain(kube.SimpleIngress(cfg.name)) {
diff --git a/app/mailman-web/kube/mailman.libsonnet b/app/mailman-web/kube/mailman.libsonnet
index f3748a9..c75e3b0 100644
--- a/app/mailman-web/kube/mailman.libsonnet
+++ b/app/mailman-web/kube/mailman.libsonnet
@@ -162,7 +162,7 @@
 
 
     svcWeb: ns.Contain(kube.Service("web")) {
-        target_pod: app.web.spec.template,
+        target:: app.web,
         spec+: {
             # hax
             type: "LoadBalancer",
diff --git a/app/mastodon/kube/mastodon.libsonnet b/app/mastodon/kube/mastodon.libsonnet
index eac66fd..025eef8 100644
--- a/app/mastodon/kube/mastodon.libsonnet
+++ b/app/mastodon/kube/mastodon.libsonnet
@@ -276,11 +276,11 @@
     },
 
     svcWeb: ns.Contain(kube.Service("web")) {
-        target_pod: app.web.spec.template,
+        target:: app.web,
     },
 
     svcStreaming: ns.Contain(kube.Service("streaming")) {
-        target_pod: app.streaming.spec.template,
+        target:: app.streaming,
     },
 
 
diff --git a/app/matrix/lib/appservice-irc.libsonnet b/app/matrix/lib/appservice-irc.libsonnet
index 92a1b21..f696970 100644
--- a/app/matrix/lib/appservice-irc.libsonnet
+++ b/app/matrix/lib/appservice-irc.libsonnet
@@ -116,7 +116,7 @@
 
         svc: kube.Service("appservice-irc-%s" % [name]) {
             metadata+: cfg.metadata,
-            target_pod:: bridge.deployment.spec.template,
+            target:: bridge.deployment,
         },
     },
 }
diff --git a/app/matrix/lib/appservice-telegram.libsonnet b/app/matrix/lib/appservice-telegram.libsonnet
index 5cfaf3a..209e855 100644
--- a/app/matrix/lib/appservice-telegram.libsonnet
+++ b/app/matrix/lib/appservice-telegram.libsonnet
@@ -147,7 +147,7 @@
 
         svc: kube.Service("appservice-telegram-%s" % [name]) {
             metadata+: cfg.metadata,
-            target_pod:: bridge.deployment.spec.template,
+            target:: bridge.deployment,
         },
     },
 }
diff --git a/app/matrix/lib/cas.libsonnet b/app/matrix/lib/cas.libsonnet
index 1a33aaa..f1de4fe 100644
--- a/app/matrix/lib/cas.libsonnet
+++ b/app/matrix/lib/cas.libsonnet
@@ -43,6 +43,6 @@
     },
 
     svc: app.ns.Contain(kube.Service("oauth2-cas-proxy")) {
-        target_pod:: app.deployment.spec.template,
+        target:: app.deployment,
     },
 }
diff --git a/app/matrix/lib/coturn.libsonnet b/app/matrix/lib/coturn.libsonnet
index c27b196..e63a0bc 100644
--- a/app/matrix/lib/coturn.libsonnet
+++ b/app/matrix/lib/coturn.libsonnet
@@ -130,7 +130,7 @@
     },
 
     svcTCP: app.ns.Contain(kube.Service("coturn-tcp")) {
-        target_pod:: app.deployment.spec.template,
+        target:: app.deployment,
         metadata+: {
             annotations+: {
                 "metallb.universe.tf/allow-shared-ip": "coturn",
@@ -150,7 +150,7 @@
     },
 
     svcUDP: app.ns.Contain(kube.Service("coturn-udp")) {
-        target_pod:: app.deployment.spec.template,
+        target:: app.deployment,
         metadata+: {
             annotations+: {
                 "metallb.universe.tf/allow-shared-ip": "coturn",
diff --git a/app/matrix/lib/matrix.libsonnet b/app/matrix/lib/matrix.libsonnet
index b8a21f9..c72b060 100644
--- a/app/matrix/lib/matrix.libsonnet
+++ b/app/matrix/lib/matrix.libsonnet
@@ -161,7 +161,7 @@
 
     casSvc: if cfg.cas.enable then kube.Service("oauth2-cas-proxy") {
         metadata+: app.metadata("oauth2-cas-proxy"),
-        target_pod:: app.casDeployment.spec.template,
+        target:: app.casDeployment,
     },
 
     synapseDeployment: kube.Deployment("synapse") {
@@ -219,7 +219,7 @@
 
     synapseSvc: kube.Service("synapse") {
         metadata+: app.metadata("synapse"),
-        target_pod:: app.synapseDeployment.spec.template,
+        target:: app.synapseDeployment,
     },
 
     riotConfig:: {
@@ -344,7 +344,7 @@
 
     riotSvc: kube.Service("riot-web") {
         metadata+: app.metadata("riot-web"),
-        target_pod:: app.riotDeployment.spec.template,
+        target:: app.riotDeployment,
     },
 
     wellKnown: if cfg.wellKnown then {
@@ -374,7 +374,7 @@
         },
         svc: kube.Service("wellknown") {
             metadata+: app.metadata("wellknown"),
-            target_pod:: app.wellKnown.deployment.spec.template,
+            target:: app.wellKnown.deployment,
         },
     } else {},
 
diff --git a/app/matrix/lib/media-repo.libsonnet b/app/matrix/lib/media-repo.libsonnet
index 7b7500f..4b079d8 100644
--- a/app/matrix/lib/media-repo.libsonnet
+++ b/app/matrix/lib/media-repo.libsonnet
@@ -115,7 +115,7 @@
     // Run //app/matrix/media-repo-proxy, if needed. This rewrites Host headers
     // from the homeserver's serving Host to the MXID hostname (which
     // matrix-media-repo expects).
-    // 
+    //
     // Currently we only are able to run one proxy for one homeserver config -
     // but we don't expect to have multiple homeservers per matrix-media-repo
     // any time soon.
@@ -158,10 +158,10 @@
     } else {},
 
     internalSvc: app.ns.Contain(kube.Service("media-repo-internal")) {
-        target_pod:: app.deployment.spec.template,
+        target:: app.deployment,
     },
 
     svc: if std.length(needProxying) > 0 then app.ns.Contain(kube.Service("media-repo")) {
-        target_pod:: app.proxies.deployment.spec.template,
+        target:: app.proxies.deployment,
     } else app.internalSvc,
 }
diff --git a/app/matrix/lib/riot.libsonnet b/app/matrix/lib/riot.libsonnet
index fc2f2e7..23273f9 100644
--- a/app/matrix/lib/riot.libsonnet
+++ b/app/matrix/lib/riot.libsonnet
@@ -90,6 +90,6 @@
     },
 
     svc: app.ns.Contain(kube.Service("riot-web")) {
-        target_pod:: app.deployment.spec.template,
+        target:: app.deployment,
     },
 }
diff --git a/app/matrix/lib/synapse.libsonnet b/app/matrix/lib/synapse.libsonnet
index 324b2f2..925a715 100644
--- a/app/matrix/lib/synapse.libsonnet
+++ b/app/matrix/lib/synapse.libsonnet
@@ -230,10 +230,10 @@
             },
         },
         svc: app.ns.Contain(kube.Service("synapse")) {
-            target_pod:: app.main.deployment.spec.template,
+            target:: app.main.deployment,
         },
         replicationSvc: app.ns.Contain(kube.Service("synapse-replication-master")) {
-            target_pod:: app.main.deployment.spec.template,
+            target:: app.main.deployment,
             spec+: {
                 ports: [
                     { port: 9093, name: 'replication', targetPort: 9093 },
@@ -262,7 +262,7 @@
             },
         },
         svc: app.ns.Contain(kube.Service("synapse-generic")) {
-            target_pod:: app.genericWorker.deployment.spec.template,
+            target:: app.genericWorker.deployment,
         },
 
         # Following paths can be handled by generic workers.
@@ -386,7 +386,7 @@
             },
         },
         svc: app.ns.Contain(kube.Service("synapse-media")) {
-            target_pod:: app.mediaWorker.deployment.spec.template,
+            target:: app.mediaWorker.deployment,
         },
     },
 
diff --git a/app/matrix/lib/wellknown.libsonnet b/app/matrix/lib/wellknown.libsonnet
index cdc5ceb..509b83c 100644
--- a/app/matrix/lib/wellknown.libsonnet
+++ b/app/matrix/lib/wellknown.libsonnet
@@ -36,6 +36,6 @@
         },
     },
     svc: app.ns.Contain(kube.Service("wellknown")) {
-        target_pod:: app.deployment.spec.template,
+        target:: app.deployment,
     },
 }
diff --git a/app/onlyoffice/prod.jsonnet b/app/onlyoffice/prod.jsonnet
index ecf61c7..6919b1a 100644
--- a/app/onlyoffice/prod.jsonnet
+++ b/app/onlyoffice/prod.jsonnet
@@ -66,7 +66,7 @@
         },
 
         svc: oo.ns.Contain(kube.Service("documentserver")) {
-            target_pod:: oo.deploy.spec.template,
+            target:: oo.deploy,
         },
 
         ingress: oo.ns.Contain(kube.SimpleIngress("office")) {
diff --git a/app/radio/kube/radio.libsonnet b/app/radio/kube/radio.libsonnet
index d4c186c..8f94405 100644
--- a/app/radio/kube/radio.libsonnet
+++ b/app/radio/kube/radio.libsonnet
@@ -94,11 +94,11 @@
                     ["admin-password", cfg.icecast.authentication.adminPassword],
                 ],
                 ["hostname", cfg.icecast.hostname],
-                ["listen-socket", 
+                ["listen-socket",
                     ["port", std.toString(cfg.icecast.listenPort)],
                 ],
                 ["fileserve", "1"],
-                ["paths", 
+                ["paths",
                     ["webroot", "/usr/share/icecast/web"],
                     ["adminroot", "/usr/share/icecast/admin"],
                 ],
@@ -172,7 +172,7 @@
     },
     svc: kube.Service(radio.makeName("icecast")) {
         metadata+: radio.metadata,
-        target_pod:: radio.deployment.spec.template,
+        target:: radio.deployment,
         spec+: {
             ports: [
                 { name: "client", port: cfg.port, targetPort: cfg.icecast.listenPort, protocol: "TCP" },
diff --git a/app/walne/prod.jsonnet b/app/walne/prod.jsonnet
index da98b70..0a23d96 100644
--- a/app/walne/prod.jsonnet
+++ b/app/walne/prod.jsonnet
@@ -47,7 +47,7 @@
     },
 
     service: top.ns.Contain(kube.Service(cfg.name)) {
-        target_pod:: top.deployment.spec.template,
+        target:: top.deployment,
     },
 
     ingress: top.ns.Contain(kube.SimpleIngress(cfg.name)) {