osbase/bringup: add bringup

Introduce a library which handles the bringup of a running environment
for supervisor runnables.

Change-Id: I03c049d1bac7afdc71dfa24247923070982f07cd
Reviewed-on: https://review.monogon.dev/c/monogon/+/2930
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/osbase/bringup/test/main_succeeded.go b/osbase/bringup/test/main_succeeded.go
new file mode 100644
index 0000000..930455c
--- /dev/null
+++ b/osbase/bringup/test/main_succeeded.go
@@ -0,0 +1,18 @@
+package main
+
+import (
+	"context"
+	"fmt"
+
+	"golang.org/x/sys/unix"
+
+	"source.monogon.dev/osbase/bringup"
+)
+
+func main() {
+	bringup.Runnable(func(ctx context.Context) error {
+		fmt.Println("_BRINGUP_LAUNCH_SUCCESS_")
+		unix.Reboot(unix.LINUX_REBOOT_CMD_POWER_OFF)
+		return nil
+	}).Run()
+}