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
40 lines
1.4 KiB
Go
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
|
|
}
|