m/n/core/curator: return denormalized node id in GetNodes
This is mostly useful when using filters to get just one node, eg.
`node.id = "metropolis-1234567890"`.
Change-Id: I154508751b0e610742374b65915c07b64a7f7b71
Reviewed-on: https://review.monogon.dev/c/monogon/+/1426
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/core/curator/impl_leader_management.go b/metropolis/node/core/curator/impl_leader_management.go
index 69c1445..a46c9e3 100644
--- a/metropolis/node/core/curator/impl_leader_management.go
+++ b/metropolis/node/core/curator/impl_leader_management.go
@@ -217,6 +217,7 @@
entry := apb.Node{
Pubkey: node.pubkey,
+ Id: identity.NodeID(node.pubkey),
State: node.state,
Status: node.status,
Roles: roles,
diff --git a/metropolis/proto/api/management.proto b/metropolis/proto/api/management.proto
index 0df1d69..a5fd47d 100644
--- a/metropolis/proto/api/management.proto
+++ b/metropolis/proto/api/management.proto
@@ -114,6 +114,8 @@
// Raw Ed25519 public key of this node, which can be used to generate
// the node's ID. This is always set.
bytes pubkey = 1;
+ // Node ID calculated from pubkey, ie. 'metropolis-123456'.
+ string id = 7;
// State of the node from the point of view of the cluster. This is
// always set.
metropolis.proto.common.NodeState state = 2;