metropolis: add boot IDs to status

This allows for precisely determining if a kernel restart has occurred.
Useful for making tests more accurate and relying less on sleeps.

Closes: #357
Change-Id: Ic215b5db841b29b3a3c622333a05be6c35cc6ded
Reviewed-on: https://review.monogon.dev/c/monogon/+/3477
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
diff --git a/metropolis/proto/common/common.proto b/metropolis/proto/common/common.proto
index 2f23e08..d922a56 100644
--- a/metropolis/proto/common/common.proto
+++ b/metropolis/proto/common/common.proto
@@ -182,6 +182,9 @@
     google.protobuf.Timestamp timestamp = 2;
     // version is the Metropolis version that this node is running.
     version.spec.Version version = 4;
+    // boot_id is a random value chosen for each kernel start.
+    // If this value changes, a new kernel instance is running on the node.
+    bytes boot_id = 5;
 }
 
 // The Cluster Directory is information about the network addressing of nodes