cluster/coredns: add cluster fqdn top level domain

This means that in addition to services being discoverable the 'classic'
way:

    <svcname>.<namespace>.svc.cluster.local

They are now discoverable as:

    <svcname>.<namespace>.svc.<fqdn>

For instance, on k0 you can now internally resolve:

    $ kubectl run --rm -it foo --image=nixery.dev/shell/dnsutils bash
    bash-4.4# dig +short coffee-svc.default.svc.k0.hswaw.net
    10.10.12.192

Change-Id: Ie6875b54ed6358f30f888ca0cd96e011520ace20
diff --git a/cluster/kube/lib/coredns.libsonnet b/cluster/kube/lib/coredns.libsonnet
index 5fd54df..27720a9 100644
--- a/cluster/kube/lib/coredns.libsonnet
+++ b/cluster/kube/lib/coredns.libsonnet
@@ -10,7 +10,9 @@
             image: "coredns/coredns:1.3.0",
             namespace: "kube-system",
             upstream_server: "185.236.240.1",
-            cluster_domain: "cluster.local",
+            cluster_domains: [
+                "cluster.local",
+            ],
             reverse_cidrs: ["in-addr.arpa", "ip6.arpa"],
             clusterIP: "10.10.12.254",
         },
@@ -68,7 +70,7 @@
             local map = self,
 
             upstream_server:: cfg.upstream_server,
-            cluster_domain:: cfg.cluster_domain,
+            cluster_domains:: std.join(" ", cfg.cluster_domains),
             reverse_cidrs:: std.join(" ", cfg.reverse_cidrs),
 
             metadata+: {
@@ -93,7 +95,7 @@
                         reload
                         loadbalance
                      }
-                ||| % [map.cluster_domain, map.reverse_cidrs, map.upstream_server]
+                ||| % [map.cluster_domains, map.reverse_cidrs, map.upstream_server]
             },
         },