metropolis/cli/metroctl: implement install ssh
This implements another way of installing metropolis via ssh. It does
this by uploading the files to the target machine and then doing a kexec
into the install environment. If it fails at any point it will print the
error and reboot.
Change-Id: I1ac6538896709c386b053a84903fa04940c1f012
Reviewed-on: https://review.monogon.dev/c/monogon/+/2079
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/go.mod b/go.mod
index 2dfac51..7bda6d4 100644
--- a/go.mod
+++ b/go.mod
@@ -120,6 +120,7 @@
github.com/pseudomuto/protoc-gen-doc v1.5.0
github.com/rmohr/bazeldnf v0.5.4
github.com/sbezverk/nfproxy v0.0.0-20210112155058-0d98b4a69f0c
+ github.com/schollz/progressbar/v3 v3.14.6
github.com/spf13/cobra v1.8.1
github.com/spf13/pflag v1.0.5
github.com/sqlc-dev/sqlc v1.23.0
@@ -138,7 +139,7 @@
golang.org/x/mod v0.17.0
golang.org/x/net v0.26.0
golang.org/x/sync v0.7.0
- golang.org/x/sys v0.21.0
+ golang.org/x/sys v0.22.0
golang.org/x/text v0.16.0
golang.org/x/time v0.5.0
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d
@@ -164,11 +165,6 @@
)
require (
- github.com/gdamore/encoding v1.0.0 // indirect
- github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
-)
-
-require (
cloud.google.com/go v0.112.1 // indirect
cloud.google.com/go/compute/metadata v0.3.0 // indirect
cloud.google.com/go/iam v1.1.6 // indirect
@@ -252,6 +248,7 @@
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
+ github.com/gdamore/encoding v1.0.0 // indirect
github.com/gin-gonic/gin v1.9.1 // indirect
github.com/go-delve/liner v1.2.2-1 // indirect
github.com/go-errors/errors v1.4.2 // indirect
@@ -314,10 +311,11 @@
github.com/libopenstorage/openstorage v1.0.0 // indirect
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
github.com/lithammer/dedent v1.1.0 // indirect
+ github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/lufia/iostat v1.2.1 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
- github.com/mattn/go-isatty v0.0.19 // indirect
+ github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.15 // indirect
github.com/mattn/go-sqlite3 v1.14.17 // indirect
github.com/mattn/go-xmlrpc v0.0.3 // indirect
@@ -327,6 +325,7 @@
github.com/minio/sha256-simd v1.0.0 // indirect
github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible // indirect
github.com/mistifyio/go-zfs/v3 v3.0.1 // indirect
+ github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect
github.com/mitchellh/copystructure v1.0.0 // indirect
github.com/mitchellh/reflectwalk v1.0.1 // indirect
github.com/moby/locker v1.0.1 // indirect
@@ -370,7 +369,7 @@
github.com/prometheus/procfs v0.15.1 // indirect
github.com/pseudomuto/protokit v0.2.0 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
- github.com/rivo/uniseg v0.4.3
+ github.com/rivo/uniseg v0.4.7
github.com/riza-io/grpc-go v0.2.0 // indirect
github.com/robfig/cron/v3 v3.0.1 // indirect
github.com/rs/cors v1.8.0 // indirect
@@ -418,7 +417,7 @@
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f // indirect
golang.org/x/exp/typeparams v0.0.0-20221208152030-732eee02a75a // indirect
golang.org/x/oauth2 v0.21.0 // indirect
- golang.org/x/term v0.21.0 // indirect
+ golang.org/x/term v0.22.0
golang.zx2c4.com/wireguard v0.0.0-20220202223031-3b95c81cc178 // indirect
google.golang.org/api v0.169.0 // indirect
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect