m/node: move clusternet under network
Move the clusternet network side under the core/network umbrella and
rename it to overlay. Also split out types.go into the ipam package
to get the overlay package out of a lot of dependents which only import
it for the Prefixes type which should be part of the ipam package.
This is a clean move with no functional changes intended yet, these
will be stacked on top.
Change-Id: I6a6a6964af9d608f9ec3bf75b386c010cfff1df4
Reviewed-on: https://review.monogon.dev/c/monogon/+/4500
Tested-by: Jenkins CI
Reviewed-by: Jan Schär <jan@monogon.tech>
diff --git a/metropolis/node/core/roleserve/BUILD.bazel b/metropolis/node/core/roleserve/BUILD.bazel
index 72a4472..c753683 100644
--- a/metropolis/node/core/roleserve/BUILD.bazel
+++ b/metropolis/node/core/roleserve/BUILD.bazel
@@ -19,7 +19,6 @@
visibility = ["//visibility:public"],
deps = [
"//metropolis/node",
- "//metropolis/node/core/clusternet",
"//metropolis/node/core/consensus",
"//metropolis/node/core/curator",
"//metropolis/node/core/curator/proto/api",
@@ -30,6 +29,8 @@
"//metropolis/node/core/mgmt",
"//metropolis/node/core/network",
"//metropolis/node/core/network/hostsfile",
+ "//metropolis/node/core/network/ipam",
+ "//metropolis/node/core/network/overlay",
"//metropolis/node/core/productinfo",
"//metropolis/node/core/rpc",
"//metropolis/node/core/rpc/resolver",
diff --git a/metropolis/node/core/roleserve/roleserve.go b/metropolis/node/core/roleserve/roleserve.go
index 4c1f610..ef84643 100644
--- a/metropolis/node/core/roleserve/roleserve.go
+++ b/metropolis/node/core/roleserve/roleserve.go
@@ -43,11 +43,11 @@
"crypto/ed25519"
common "source.monogon.dev/metropolis/node"
- "source.monogon.dev/metropolis/node/core/clusternet"
"source.monogon.dev/metropolis/node/core/curator"
"source.monogon.dev/metropolis/node/core/identity"
"source.monogon.dev/metropolis/node/core/localstorage"
"source.monogon.dev/metropolis/node/core/network"
+ "source.monogon.dev/metropolis/node/core/network/ipam"
"source.monogon.dev/metropolis/node/core/rpc/resolver"
"source.monogon.dev/metropolis/node/core/update"
cpb "source.monogon.dev/metropolis/proto/common"
@@ -66,7 +66,7 @@
// Network is a handle to the network service, used by workloads.
Network *network.Service
- PodNetwork *memory.Value[*clusternet.Prefixes]
+ PodNetwork *memory.Value[*ipam.Prefixes]
// resolver is the main, long-lived, authenticated cluster resolver that is used
// for all subsequent gRPC calls by the subordinates of the roleserver. It is
diff --git a/metropolis/node/core/roleserve/worker_clusternet.go b/metropolis/node/core/roleserve/worker_clusternet.go
index 3442030..8a3bb8f 100644
--- a/metropolis/node/core/roleserve/worker_clusternet.go
+++ b/metropolis/node/core/roleserve/worker_clusternet.go
@@ -7,9 +7,10 @@
"context"
"net"
- "source.monogon.dev/metropolis/node/core/clusternet"
"source.monogon.dev/metropolis/node/core/localstorage"
"source.monogon.dev/metropolis/node/core/network"
+ "source.monogon.dev/metropolis/node/core/network/ipam"
+ "source.monogon.dev/metropolis/node/core/network/overlay"
"source.monogon.dev/osbase/event/memory"
"source.monogon.dev/osbase/supervisor"
@@ -22,7 +23,7 @@
// curatorConnection will be read
curatorConnection *memory.Value[*CuratorConnection]
// podNetwork will be read.
- podNetwork *memory.Value[*clusternet.Prefixes]
+ podNetwork *memory.Value[*ipam.Prefixes]
network *network.Service
}
@@ -37,7 +38,7 @@
supervisor.Logger(ctx).Infof("Got curator connection, starting...")
cur := ipb.NewCuratorClient(cc.conn)
- svc := clusternet.Service{
+ svc := overlay.Service{
Curator: cur,
ClusterNet: net.IPNet{
IP: []byte{10, 192, 0, 0},
diff --git a/metropolis/node/core/roleserve/worker_kubernetes.go b/metropolis/node/core/roleserve/worker_kubernetes.go
index 2bbbba8..9cb2304 100644
--- a/metropolis/node/core/roleserve/worker_kubernetes.go
+++ b/metropolis/node/core/roleserve/worker_kubernetes.go
@@ -8,10 +8,10 @@
"fmt"
"net"
- "source.monogon.dev/metropolis/node/core/clusternet"
"source.monogon.dev/metropolis/node/core/identity"
"source.monogon.dev/metropolis/node/core/localstorage"
"source.monogon.dev/metropolis/node/core/network"
+ "source.monogon.dev/metropolis/node/core/network/ipam"
"source.monogon.dev/metropolis/node/kubernetes"
"source.monogon.dev/metropolis/node/kubernetes/containerd"
kpki "source.monogon.dev/metropolis/node/kubernetes/pki"
@@ -40,7 +40,7 @@
localControlPlane *memory.Value[*localControlPlane]
curatorConnection *memory.Value[*CuratorConnection]
kubernetesStatus *memory.Value[*KubernetesStatus]
- podNetwork *memory.Value[*clusternet.Prefixes]
+ podNetwork *memory.Value[*ipam.Prefixes]
}
// kubernetesStartup is used internally to provide a reduced (as in MapReduce