package installcmd import ( "github.com/spf13/cobra" "yizhisec.com/hsv2/forge/internal/controller/installer" ) func Check() *cobra.Command { var ( workdir string target string ignoreDisk bool ignoreMemory bool ignoreCPU bool ) _cmd := &cobra.Command{ Use: "check", Short: "Check system requirements", Long: `Check system requirements for the project.`, RunE: func(cmd *cobra.Command, args []string) error { _installer := installer.NewInstaller(workdir, target) return _installer.Check( cmd.Context(), installer.WithIgnoreDiskCheck(ignoreDisk), installer.WithIgnoreMemoryCheck(ignoreMemory), installer.WithIgnoreCPUCheck(ignoreCPU), ) }, } _cmd.Flags().StringVar(&workdir, "workdir", "/root/hs-installation", "Working directory") _cmd.Flags().StringVar(&target, "target", "self", "Target") _cmd.Flags().BoolVar(&ignoreDisk, "ignore-check-disk", false, "ignore disk requirement check result") _cmd.Flags().BoolVar(&ignoreMemory, "ignore-check-memory", false, "ignore memory requirement check result") _cmd.Flags().BoolVar(&ignoreCPU, "ignore-check-cpu", false, "ignore cpu requirement check result") return _cmd }