cloud/agent: migrate to bringup package
Change-Id: Ibe89c37cae058395723c9ed5ad5914d62a9af891
Reviewed-on: https://review.monogon.dev/c/monogon/+/3392
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/cloud/agent/install.go b/cloud/agent/install.go
index 7752517..29641bd 100644
--- a/cloud/agent/install.go
+++ b/cloud/agent/install.go
@@ -8,6 +8,7 @@
"fmt"
"io/fs"
"net/http"
+ "os"
"path/filepath"
"github.com/cenkalti/backoff/v4"
@@ -41,17 +42,18 @@
// install dispatches OSInstallationRequests to the appropriate installer
// method
-func install(req *bpb.OSInstallationRequest, netConfig *npb.Net, l logtree.LeveledLogger, isEFIBoot bool) error {
+func install(req *bpb.OSInstallationRequest, netConfig *npb.Net, l logtree.LeveledLogger) error {
switch reqT := req.Type.(type) {
case *bpb.OSInstallationRequest_Metropolis:
- return installMetropolis(reqT.Metropolis, netConfig, l, isEFIBoot)
+ return installMetropolis(reqT.Metropolis, netConfig, l)
default:
return errors.New("unknown installation request type")
}
}
-func installMetropolis(req *bpb.MetropolisInstallationRequest, netConfig *npb.Net, l logtree.LeveledLogger, isEFIBoot bool) error {
- if !isEFIBoot {
+func installMetropolis(req *bpb.MetropolisInstallationRequest, netConfig *npb.Net, l logtree.LeveledLogger) error {
+ // Validate we are running via EFI.
+ if _, err := os.Stat("/sys/firmware/efi"); os.IsNotExist(err) {
//nolint:ST1005
return errors.New("Monogon OS can only be installed on EFI-booted machines, this one is not")
}