m/node: allow specifying node labels during cluster bootstrap
We also drive-by refactor ProvideBootstrapData to take a structure
instead of a bunch of unnamed arguments.
Change-Id: I8d876fd726fa87420789513540b20f523994d801
Reviewed-on: https://review.monogon.dev/c/monogon/+/3103
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/proto/api/configuration.proto b/metropolis/proto/api/configuration.proto
index 8c6c454..90e9dbd 100644
--- a/metropolis/proto/api/configuration.proto
+++ b/metropolis/proto/api/configuration.proto
@@ -38,9 +38,16 @@
// management credentials for the cluster via an AAA.Escrow call.
bytes owner_public_key = 1;
+ reserved 2;
+
// If not set, defaults to:
// - TPM mode: REQUIRED
common.ClusterConfiguration initial_cluster_configuration = 3;
+
+ // Labels that the first node will start out with. The given labels must
+ // be valid (see NodeLabels for more details). Invalid labels will be
+ // discarded.
+ metropolis.proto.common.NodeLabels labels = 4;
}
// ClusterRegister configures the node to attempt to register into an
// existing cluster, ie. contact an existing running cluster and become