metropolis/node: move misplaced packages out of core

abloader, bios_bootcode and minit don't run as part of the core process,
so it doesn't make sense to have them in //metropolis/node/core.
This changes moves these three to //metropolis/node.

Change-Id: I908efb311a138f07a9f1de8e3c23437ff00131ee
Reviewed-on: https://review.monogon.dev/c/monogon/+/4196
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
Tested-by: Jenkins CI
diff --git a/cloud/agent/BUILD.bazel b/cloud/agent/BUILD.bazel
index b02f994..bfb2147 100644
--- a/cloud/agent/BUILD.bazel
+++ b/cloud/agent/BUILD.bazel
@@ -8,7 +8,7 @@
         "install.go",
     ],
     embedsrcs = [
-        "//metropolis/node/core/abloader",  #keep
+        "//metropolis/node/abloader",  #keep
     ],
     importpath = "source.monogon.dev/cloud/agent",
     visibility = ["//visibility:private"],
diff --git a/cloud/agent/install.go b/cloud/agent/install.go
index a59664e..6deffab 100644
--- a/cloud/agent/install.go
+++ b/cloud/agent/install.go
@@ -27,7 +27,7 @@
 	"source.monogon.dev/osbase/supervisor"
 )
 
-//go:embed metropolis/node/core/abloader/abloader_bin.efi
+//go:embed metropolis/node/abloader/abloader_bin.efi
 var abloader []byte
 
 // install dispatches OSInstallationRequests to the appropriate installer
diff --git a/metropolis/cli/takeover/BUILD.bazel b/metropolis/cli/takeover/BUILD.bazel
index ca6e625..1b8f182 100644
--- a/metropolis/cli/takeover/BUILD.bazel
+++ b/metropolis/cli/takeover/BUILD.bazel
@@ -24,7 +24,7 @@
         "//third_party/linux",  #keep
         "//third_party:ucode",  #keep
         ":initramfs",  #keep
-        "//metropolis/node/core/abloader",  #keep
+        "//metropolis/node/abloader",  #keep
     ],
     importpath = "source.monogon.dev/metropolis/cli/takeover",
     visibility = ["//visibility:private"],
diff --git a/metropolis/cli/takeover/install.go b/metropolis/cli/takeover/install.go
index 8c1ad79..1bd00e6 100644
--- a/metropolis/cli/takeover/install.go
+++ b/metropolis/cli/takeover/install.go
@@ -18,7 +18,7 @@
 	"source.monogon.dev/osbase/structfs"
 )
 
-//go:embed metropolis/node/core/abloader/abloader_bin.efi
+//go:embed metropolis/node/abloader/abloader_bin.efi
 var abloader []byte
 
 // EnvInstallTarget environment variable which tells the takeover binary where
diff --git a/metropolis/installer/BUILD.bazel b/metropolis/installer/BUILD.bazel
index 7e62727..0fb1659 100644
--- a/metropolis/installer/BUILD.bazel
+++ b/metropolis/installer/BUILD.bazel
@@ -7,7 +7,7 @@
     name = "installer_lib",
     srcs = ["main.go"],
     embedsrcs = [
-        "//metropolis/node/core/abloader",  #keep
+        "//metropolis/node/abloader",  #keep
     ],
     importpath = "source.monogon.dev/metropolis/installer",
     stampsrcs = ["//build:stabler_status"],
diff --git a/metropolis/installer/main.go b/metropolis/installer/main.go
index c79bf9e..3d2df41 100644
--- a/metropolis/installer/main.go
+++ b/metropolis/installer/main.go
@@ -29,7 +29,7 @@
 	"source.monogon.dev/osbase/sysfs"
 )
 
-//go:embed metropolis/node/core/abloader/abloader_bin.efi
+//go:embed metropolis/node/abloader/abloader_bin.efi
 var abloader []byte
 
 // Filled at linking time.
diff --git a/metropolis/node/BUILD.bazel b/metropolis/node/BUILD.bazel
index 3bd70e9..fffa16c 100644
--- a/metropolis/node/BUILD.bazel
+++ b/metropolis/node/BUILD.bazel
@@ -51,7 +51,7 @@
 erofs_image(
     name = "rootfs",
     files = {
-        "/init": "//metropolis/node/core/minit",
+        "/init": "//metropolis/node/minit",
         "/core": "//metropolis/node/core",
 
         # CA Certificate bundle & os-release & resolv.conf & hosts
@@ -150,8 +150,8 @@
 
 node_image(
     name = "image",
-    abloader = "//metropolis/node/core/abloader",
-    bios_bootcode = "//metropolis/node/core/bios_bootcode",
+    abloader = "//metropolis/node/abloader",
+    bios_bootcode = "//metropolis/node/bios_bootcode",
     kernel = ":kernel_efi",
     system = ":verity_rootfs",
     visibility = [
diff --git a/metropolis/node/core/abloader/BUILD.bazel b/metropolis/node/abloader/BUILD.bazel
similarity index 93%
rename from metropolis/node/core/abloader/BUILD.bazel
rename to metropolis/node/abloader/BUILD.bazel
index 1210368..20f26db 100644
--- a/metropolis/node/core/abloader/BUILD.bazel
+++ b/metropolis/node/abloader/BUILD.bazel
@@ -18,7 +18,7 @@
     ],
     visibility = ["//visibility:private"],
     deps = [
-        "//metropolis/node/core/abloader/spec:abloader_proto_rs",
+        "//metropolis/node/abloader/spec:abloader_proto_rs",
         "@crate_index_efi//:prost",
         "@crate_index_efi//:uefi",
         "@crate_index_efi//:uefi-services",
diff --git a/metropolis/node/core/abloader/main.rs b/metropolis/node/abloader/main.rs
similarity index 98%
rename from metropolis/node/core/abloader/main.rs
rename to metropolis/node/abloader/main.rs
index 4489b73..f0f61ee 100644
--- a/metropolis/node/core/abloader/main.rs
+++ b/metropolis/node/abloader/main.rs
@@ -20,7 +20,7 @@
 use uefi::{prelude::*, CStr16};
 use uefi_services::println;
 
-use abloader_proto::metropolis::node::core::abloader::spec::*;
+use abloader_proto::metropolis::node::abloader::spec::*;
 
 const A_LOADER_PATH: &CStr16 = cstr16!("\\EFI\\metropolis\\boot-a.efi");
 const B_LOADER_PATH: &CStr16 = cstr16!("\\EFI\\metropolis\\boot-b.efi");
@@ -119,7 +119,7 @@
             .expect("image filesystem not available");
 
         let mut loader_data = match read_loader_state(&mut esp_fs) {
-            Ok(d) => d, 
+            Ok(d) => d,
             Err(e) => {
                 println!("Unable to load A/B loader state, using default slot A: {}", e);
                 AbLoaderData {
@@ -131,7 +131,7 @@
 
         // If next_slot is set, use it as slot to boot but clear it in the
         // state file as the next boot should not use it again. If it should
-        // be permanently activated, it is the OS's job to put it into 
+        // be permanently activated, it is the OS's job to put it into
         if loader_data.next_slot != Slot::None.into() {
             let next_slot = loader_data.next_slot;
             loader_data.next_slot = Slot::None.into();
diff --git a/metropolis/node/core/abloader/spec/BUILD.bazel b/metropolis/node/abloader/spec/BUILD.bazel
similarity index 87%
rename from metropolis/node/core/abloader/spec/BUILD.bazel
rename to metropolis/node/abloader/spec/BUILD.bazel
index 0506d4c..3190c57 100644
--- a/metropolis/node/core/abloader/spec/BUILD.bazel
+++ b/metropolis/node/abloader/spec/BUILD.bazel
@@ -31,7 +31,7 @@
 
 go_proto_library(
     name = "abloader_go_proto",
-    importpath = "source.monogon.dev/metropolis/node/core/abloader/spec",
+    importpath = "source.monogon.dev/metropolis/node/abloader/spec",
     proto = ":abloader_proto",
     visibility = ["//visibility:public"],
 )
@@ -39,6 +39,6 @@
 go_library(
     name = "spec",
     embed = [":abloader_go_proto"],
-    importpath = "source.monogon.dev/metropolis/node/core/abloader/spec",
+    importpath = "source.monogon.dev/metropolis/node/abloader/spec",
     visibility = ["//visibility:public"],
 )
diff --git a/metropolis/node/core/abloader/spec/abloader.proto b/metropolis/node/abloader/spec/abloader.proto
similarity index 93%
rename from metropolis/node/core/abloader/spec/abloader.proto
rename to metropolis/node/abloader/spec/abloader.proto
index a86cb90..9704ce6 100644
--- a/metropolis/node/core/abloader/spec/abloader.proto
+++ b/metropolis/node/abloader/spec/abloader.proto
@@ -1,6 +1,6 @@
 syntax = "proto3";
 
-package metropolis.node.core.abloader.spec;
+package metropolis.node.abloader.spec;
 
 enum Slot {
     SLOT_NONE = 0;
@@ -19,4 +19,4 @@
     // slot. If the OS boots successfully, it will update the active_slot to
     // permanently boot from the new slot.
     Slot next_slot = 2;
-}
\ No newline at end of file
+}
diff --git a/metropolis/node/core/abloader/spec/gomod-generated-placeholder.go b/metropolis/node/abloader/spec/gomod-generated-placeholder.go
similarity index 100%
rename from metropolis/node/core/abloader/spec/gomod-generated-placeholder.go
rename to metropolis/node/abloader/spec/gomod-generated-placeholder.go
diff --git a/metropolis/node/core/bios_bootcode/BUILD.bazel b/metropolis/node/bios_bootcode/BUILD.bazel
similarity index 80%
rename from metropolis/node/core/bios_bootcode/BUILD.bazel
rename to metropolis/node/bios_bootcode/BUILD.bazel
index 4b02276..55577a4 100644
--- a/metropolis/node/core/bios_bootcode/BUILD.bazel
+++ b/metropolis/node/bios_bootcode/BUILD.bazel
@@ -1,4 +1,4 @@
-load("//metropolis/node/core/bios_bootcode/genlogo:def.bzl", "gen_logo")
+load("//metropolis/node/bios_bootcode/genlogo:def.bzl", "gen_logo")
 
 gen_logo(
     name = "logo.asm",
diff --git a/metropolis/node/core/bios_bootcode/README.md b/metropolis/node/bios_bootcode/README.md
similarity index 100%
rename from metropolis/node/core/bios_bootcode/README.md
rename to metropolis/node/bios_bootcode/README.md
diff --git a/metropolis/node/core/bios_bootcode/boot.asm b/metropolis/node/bios_bootcode/boot.asm
similarity index 100%
rename from metropolis/node/core/bios_bootcode/boot.asm
rename to metropolis/node/bios_bootcode/boot.asm
diff --git a/metropolis/node/core/bios_bootcode/genlogo/BUILD.bazel b/metropolis/node/bios_bootcode/genlogo/BUILD.bazel
similarity index 77%
rename from metropolis/node/core/bios_bootcode/genlogo/BUILD.bazel
rename to metropolis/node/bios_bootcode/genlogo/BUILD.bazel
index eb31744..c8769a4 100644
--- a/metropolis/node/core/bios_bootcode/genlogo/BUILD.bazel
+++ b/metropolis/node/bios_bootcode/genlogo/BUILD.bazel
@@ -3,7 +3,7 @@
 go_library(
     name = "genlogo_lib",
     srcs = ["main.go"],
-    importpath = "source.monogon.dev/metropolis/node/core/bios_bootcode/genlogo",
+    importpath = "source.monogon.dev/metropolis/node/bios_bootcode/genlogo",
     visibility = ["//visibility:private"],
 )
 
diff --git a/metropolis/node/core/bios_bootcode/genlogo/def.bzl b/metropolis/node/bios_bootcode/genlogo/def.bzl
similarity index 100%
rename from metropolis/node/core/bios_bootcode/genlogo/def.bzl
rename to metropolis/node/bios_bootcode/genlogo/def.bzl
diff --git a/metropolis/node/core/bios_bootcode/genlogo/main.go b/metropolis/node/bios_bootcode/genlogo/main.go
similarity index 100%
rename from metropolis/node/core/bios_bootcode/genlogo/main.go
rename to metropolis/node/bios_bootcode/genlogo/main.go
diff --git a/metropolis/node/core/bios_bootcode/logo.png b/metropolis/node/bios_bootcode/logo.png
similarity index 100%
rename from metropolis/node/core/bios_bootcode/logo.png
rename to metropolis/node/bios_bootcode/logo.png
Binary files differ
diff --git a/metropolis/node/core/update/BUILD.bazel b/metropolis/node/core/update/BUILD.bazel
index 8dac43e..532b917 100644
--- a/metropolis/node/core/update/BUILD.bazel
+++ b/metropolis/node/core/update/BUILD.bazel
@@ -4,13 +4,13 @@
     name = "update",
     srcs = ["update.go"],
     embedsrcs = [
-        "//metropolis/node/core/abloader",  #keep
+        "//metropolis/node/abloader",  #keep
     ],
     importpath = "source.monogon.dev/metropolis/node/core/update",
     visibility = ["//visibility:public"],
     deps = [
         "//go/logging",
-        "//metropolis/node/core/abloader/spec",
+        "//metropolis/node/abloader/spec",
         "//metropolis/proto/api",
         "//metropolis/version",
         "//osbase/blockdev",
diff --git a/metropolis/node/core/update/e2e/BUILD.bazel b/metropolis/node/core/update/e2e/BUILD.bazel
index 5dcf3f7..a5dcc5e 100644
--- a/metropolis/node/core/update/e2e/BUILD.bazel
+++ b/metropolis/node/core/update/e2e/BUILD.bazel
@@ -10,7 +10,7 @@
         # For the initial image creation
         "//metropolis/node/core/update/e2e/testos:verity_rootfs_x",
         "//metropolis/node/core/update/e2e/testos:kernel_efi_x",
-        "//metropolis/node/core/abloader",
+        "//metropolis/node/abloader",
         # For the two update tests
         "//metropolis/node/core/update/e2e/testos:testos_image_y",
         "//metropolis/node/core/update/e2e/testos:testos_image_z",
@@ -22,7 +22,7 @@
         "xOvmfCodePath": "$(rlocationpath //third_party/edk2:OVMF_CODE.fd )",
         "xBootPath": "$(rlocationpath //metropolis/node/core/update/e2e/testos:kernel_efi_x )",
         "xSystemXPath": "$(rlocationpath //metropolis/node/core/update/e2e/testos:verity_rootfs_x )",
-        "xAbloaderPath": "$(rlocationpath //metropolis/node/core/abloader )",
+        "xAbloaderPath": "$(rlocationpath //metropolis/node/abloader )",
     },
     deps = [
         "//osbase/blockdev",
diff --git a/metropolis/node/core/update/update.go b/metropolis/node/core/update/update.go
index 6e41768..3d3060d 100644
--- a/metropolis/node/core/update/update.go
+++ b/metropolis/node/core/update/update.go
@@ -36,7 +36,7 @@
 	"source.monogon.dev/osbase/oci/registry"
 	"source.monogon.dev/version"
 
-	abloaderpb "source.monogon.dev/metropolis/node/core/abloader/spec"
+	abloaderpb "source.monogon.dev/metropolis/node/abloader/spec"
 	apb "source.monogon.dev/metropolis/proto/api"
 )
 
@@ -425,7 +425,7 @@
 	return nil
 }
 
-//go:embed metropolis/node/core/abloader/abloader_bin.efi
+//go:embed metropolis/node/abloader/abloader_bin.efi
 var abloader []byte
 
 func (s *Service) fixupPreloader() error {
diff --git a/metropolis/node/core/minit/BUILD.bazel b/metropolis/node/minit/BUILD.bazel
similarity index 100%
rename from metropolis/node/core/minit/BUILD.bazel
rename to metropolis/node/minit/BUILD.bazel
diff --git a/metropolis/node/core/minit/main.c b/metropolis/node/minit/main.c
similarity index 98%
rename from metropolis/node/core/minit/main.c
rename to metropolis/node/minit/main.c
index 834b023..c2d07c1 100644
--- a/metropolis/node/core/minit/main.c
+++ b/metropolis/node/minit/main.c
@@ -27,7 +27,7 @@
 #include <sys/wait.h>
 #include <unistd.h>
 
-#include "metropolis/node/core/minit/stamp.h"
+#include "metropolis/node/minit/stamp.h"
 
 void handle_signal(pid_t child_pid, int signum);