metropolis/node/kubernetes: synchronize metropolis node labels to kubernetes
This extends the labelmaker to manage Kubernetes node labels mirrored
from Metropolis node labels.
Note that currently there is no way to edit a ClusterConfiguration at
cluster runtime, but this will come in a future CL.
Change-Id: If7dbc3796085a8b85c1b5b2a181bcb1cee3d1db4
Reviewed-on: https://review.monogon.dev/c/monogon/+/3469
Reviewed-by: Jan Schär <jan@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/kubernetes/service_controller.go b/metropolis/node/kubernetes/service_controller.go
index 71b133c..02cce8c 100644
--- a/metropolis/node/kubernetes/service_controller.go
+++ b/metropolis/node/kubernetes/service_controller.go
@@ -44,12 +44,13 @@
ServiceIPRange net.IPNet
ClusterNet net.IPNet
- KPKI *pki.PKI
- Root *localstorage.Root
- Consensus consensus.ServiceHandle
- Network *network.Service
- Node *identity.NodeCredentials
- Curator ipb.CuratorClient
+ KPKI *pki.PKI
+ Root *localstorage.Root
+ Consensus consensus.ServiceHandle
+ Network *network.Service
+ Node *identity.NodeCredentials
+ Curator ipb.CuratorClient
+ Management apb.ManagementClient
}
type Controller struct {
@@ -163,6 +164,7 @@
lm := labelmaker{
clientSet: clientSet,
curator: s.c.Curator,
+ mgmt: s.c.Management,
}
if err := supervisor.Run(ctx, "labelmaker", lm.run); err != nil {
return err