cloud/agent: use new OS image format for install

This switches the Agent installation method to the new OS image format
based on OCI artifacts. OS images are now fetched from an OCI registry.

Change-Id: Icd59a2c808fd607b95d8aaa8e60022a27fd2d091
Reviewed-on: https://review.monogon.dev/c/monogon/+/4091
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/proto/api/management.proto b/metropolis/proto/api/management.proto
index 9a81082..81d4ca0 100644
--- a/metropolis/proto/api/management.proto
+++ b/metropolis/proto/api/management.proto
@@ -481,6 +481,21 @@
   ActivationMode activation_mode = 3;
 }
 
+// OSImageRef contains the parameters for fetching an OS image from an OCI
+// registry.
+message OSImageRef {
+  // Scheme must be either http or https.
+  string scheme = 1;
+  // Host with optional port.
+  string host = 2;
+  // Repository containing the image.
+  string repository = 3;
+  // Tag is optional. If not set, the manifest is fetched by digest instead.
+  string tag = 4;
+  // Digest is required. It is used to verify the manifest.
+  string digest = 5;
+}
+
 message UpdateNodeResponse {}
 
 message UpdateNodeLabelsRequest {
@@ -538,4 +553,4 @@
 message ConfigureClusterResponse {
     // Resulting config as set on the server, merged from the users new_config.
     common.ClusterConfiguration resulting_config = 1;
-}
\ No newline at end of file
+}