treewide: integrate new DNS server
This integrates the new DNS server into the network service, replacing
CoreDNS.
Change-Id: I1d2e0fd3315dc2c602a8f805ed701633799e9986
Reviewed-on: https://review.monogon.dev/c/monogon/+/3260
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/node/core/roleserve/BUILD.bazel b/metropolis/node/core/roleserve/BUILD.bazel
index 9d9bdcd..7f3f0d3 100644
--- a/metropolis/node/core/roleserve/BUILD.bazel
+++ b/metropolis/node/core/roleserve/BUILD.bazel
@@ -41,6 +41,7 @@
"//osbase/event",
"//osbase/event/memory",
"//osbase/logtree",
+ "//osbase/net/dns",
"//osbase/pki",
"//osbase/supervisor",
"@org_golang_google_grpc//:grpc",
diff --git a/metropolis/node/core/roleserve/worker_hostsfile.go b/metropolis/node/core/roleserve/worker_hostsfile.go
index 6e1a1ca..7beff2f 100644
--- a/metropolis/node/core/roleserve/worker_hostsfile.go
+++ b/metropolis/node/core/roleserve/worker_hostsfile.go
@@ -13,8 +13,9 @@
)
// workerHostsfile run the //metropolis/node/core/network/hostsfile service,
-// which in turn populates /etc/hosts, /etc/machine-id and updates the ESP-stored
-// ClusterDirectory (used to Join the cluster after a machine reboots).
+// which in turn serves DNS for hosts, populates /etc/machine-id
+// and updates the ESP-stored ClusterDirectory
+// (used to Join the cluster after a machine reboots).
type workerHostsfile struct {
storageRoot *localstorage.Root
@@ -41,7 +42,7 @@
svc := hostsfile.Service{
Config: hostsfile.Config{
- Network: &s.network.Status,
+ Network: s.network,
Ephemeral: &s.storageRoot.Ephemeral,
ESP: &s.storageRoot.ESP,
NodeID: cc.nodeID(),
diff --git a/metropolis/node/core/roleserve/worker_kubernetes.go b/metropolis/node/core/roleserve/worker_kubernetes.go
index eaa092a..b50fe20 100644
--- a/metropolis/node/core/roleserve/worker_kubernetes.go
+++ b/metropolis/node/core/roleserve/worker_kubernetes.go
@@ -16,6 +16,7 @@
cpb "source.monogon.dev/metropolis/proto/common"
"source.monogon.dev/osbase/event"
"source.monogon.dev/osbase/event/memory"
+ "source.monogon.dev/osbase/net/dns"
"source.monogon.dev/osbase/supervisor"
)
@@ -157,7 +158,6 @@
Node: d.node,
ServiceIPRange: serviceIPRange,
ClusterNet: clusterIPRange,
- ClusterDomain: clusterDomain,
KPKI: pki,
Root: s.storageRoot,
Consensus: d.lcp.consensus,
@@ -206,6 +206,7 @@
supervisor.Logger(ctx).Infof("Got new startup data.")
if d.roles.KubernetesWorker == nil {
supervisor.Logger(ctx).Infof("No Kubernetes worker role, not starting.")
+ s.network.DNS.SetHandler("kubernetes", dns.EmptyDNSHandler{})
continue
}
break