metropolis: replace node pubkey with id in cluster directory

The pubkey in the cluster directory was never used in the first place,
and its presence complicates things (exposes the notion of nodes having
a public key and potentially causes reliance on the public key in
untrusted scenarios, eg. when the cluster directory is persisted to
untrusted storage).

Let's just replace that field with a string node ID instead, as that's
also immediately useful in future code (persisting host name mapping
between reboots).

Change-Id: I9b29ee36974ef6edce6076b5df1b8b330fef8bd8
Reviewed-on: https://review.monogon.dev/c/monogon/+/2981
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/test/e2e/main_test.go b/metropolis/test/e2e/main_test.go
index 7004f7b..d4b8227 100644
--- a/metropolis/test/e2e/main_test.go
+++ b/metropolis/test/e2e/main_test.go
@@ -44,7 +44,6 @@
 	apb "source.monogon.dev/metropolis/proto/api"
 
 	common "source.monogon.dev/metropolis/node"
-	"source.monogon.dev/metropolis/node/core/identity"
 	"source.monogon.dev/metropolis/node/core/rpc"
 	"source.monogon.dev/metropolis/pkg/localregistry"
 	"source.monogon.dev/metropolis/test/launch"
@@ -129,7 +128,7 @@
 		addresses := make(map[string]bool)
 		for _, n := range nodes {
 			if len(n.Addresses) != 1 {
-				return fmt.Errorf("node %s has no addresss", identity.NodeID(n.PublicKey))
+				return fmt.Errorf("node %s has no addresss", n.Id)
 			}
 			address := n.Addresses[0].Host
 			addresses[address] = true