Files
Olares/cli/cmd/ctl/os/uninstall.go
Eliott van Nuffel df38148149
Some checks failed
Native Verification / Build Docs (pull_request) Successful in 1m12s
Native Verification / Build App-Service Native (pull_request) Successful in 1m27s
Native Verification / Build Daemon Native (pull_request) Successful in 42s
Lint and Test Charts / lint-test (pull_request_target) Failing after 19s
Lint and Test Charts / test-version (pull_request_target) Successful in 0s
Lint and Test Charts / push-image (pull_request_target) Failing after 15s
Lint and Test Charts / upload-cli (pull_request_target) Failing after 1m15s
Lint and Test Charts / upload-daemon (pull_request_target) Failing after 1m12s
Lint and Test Charts / push-deps (pull_request_target) Has been skipped
Lint and Test Charts / push-deps-arm64 (pull_request_target) Has been skipped
Lint and Test Charts / push-image-arm64 (pull_request_target) Has been cancelled
Lint and Test Charts / upload-package (pull_request_target) Has been cancelled
Lint and Test Charts / install-test (pull_request_target) Has been cancelled
continue beOS rebrand and add native verification
2026-03-10 13:48:45 +01:00

40 lines
1.4 KiB
Go

package os
import (
"log"
"github.com/beclab/beos/cli/cmd/config"
"github.com/beclab/beos/cli/pkg/common"
"github.com/beclab/beos/cli/pkg/phase/cluster"
"github.com/beclab/beos/cli/pkg/pipelines"
"github.com/spf13/cobra"
"github.com/spf13/viper"
)
func NewCmdUninstallOs() *cobra.Command {
cmd := &cobra.Command{
Use: "uninstall",
Short: "Uninstall beOS Pro",
Run: func(cmd *cobra.Command, args []string) {
err := pipelines.UninstallTerminusPipeline()
if err != nil {
log.Fatalf("error: %v", err)
}
},
}
flagSetter := config.NewFlagSetterFor(cmd)
config.AddVersionFlagBy(flagSetter)
config.AddBaseDirFlagBy(flagSetter)
config.AddStorageFlagsBy(flagSetter)
// these two flags' names are too general, and only used in cmd options, so we manually bind them to the viper
// inside the pipeline creator, it still uses the flag vars to get the values
cmd.Flags().Bool("all", false, "Uninstall beOS Pro completely, including prepared dependencies")
viper.BindPFlag(common.FlagUninstallAll, cmd.Flags().Lookup("all"))
cmd.Flags().String("phase", cluster.PhaseInstall.String(), "Uninstall from a specified phase and revert to the previous one. For example, using --phase install will remove the tasks performed in the 'install' phase, effectively returning the system to the 'prepare' state.")
viper.BindPFlag(common.FlagUninstallPhase, cmd.Flags().Lookup("phase"))
return cmd
}