77 lines
1.6 KiB
Go
77 lines
1.6 KiB
Go
package cmd
|
|
|
|
import (
|
|
"os"
|
|
|
|
"gitea.loveuer.com/yizhisec/pkg3/logger"
|
|
"github.com/spf13/cobra"
|
|
"yizhisec.com/hsv2/forge/internal/cmd/makecmd"
|
|
"yizhisec.com/hsv2/forge/internal/controller/maker"
|
|
"yizhisec.com/hsv2/forge/internal/opt"
|
|
)
|
|
|
|
func makeCmd() *cobra.Command {
|
|
|
|
_cmd := &cobra.Command{
|
|
Use: "make",
|
|
Short: "Build the project",
|
|
Long: `Build the project using the specified configuration.`,
|
|
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
|
|
var (
|
|
err error
|
|
)
|
|
|
|
if opt.Cfg.Debug {
|
|
logger.SetLogLevel(logger.LogLevelDebug)
|
|
logger.Warn("Running in debug mode")
|
|
}
|
|
|
|
if err = os.MkdirAll(opt.Cfg.Make.Dir, 0755); err != nil {
|
|
return err
|
|
}
|
|
|
|
if opt.Cfg.Make.DisableDependencyCheck {
|
|
logger.Info("Dependency check disabled")
|
|
return nil
|
|
}
|
|
|
|
mk := maker.NewMaker(opt.Cfg.Make.Dir)
|
|
if err = mk.DependencyCheck(cmd.Context()); err != nil {
|
|
return err
|
|
}
|
|
|
|
logger.Debug("Running make prerun success")
|
|
|
|
return nil
|
|
},
|
|
}
|
|
|
|
_cmd.PersistentFlags().BoolVar(&opt.Cfg.Make.DisableDependencyCheck, "disable-dependency-check", false, "Disable dependency check")
|
|
_cmd.PersistentFlags().StringVar(&opt.Cfg.Make.Dir, "dir", "/root/hsv2-installation", "make base directory")
|
|
|
|
_cmd.AddCommand(
|
|
makecmd.ALL(),
|
|
makecmd.Images(),
|
|
makecmd.K0s(),
|
|
makecmd.Flannel(),
|
|
makecmd.Longhorn(),
|
|
makecmd.Mysql(),
|
|
makecmd.Redis(),
|
|
makecmd.ES(),
|
|
makecmd.EMQX(),
|
|
makecmd.Minio(),
|
|
makecmd.Yosguard(),
|
|
makecmd.Registry(),
|
|
makecmd.LessDNS(),
|
|
makecmd.HSNet(),
|
|
makecmd.ConfigMap(),
|
|
makecmd.Proxy(),
|
|
makecmd.Seafile(),
|
|
makecmd.App(),
|
|
makecmd.Apps(),
|
|
makecmd.Client(),
|
|
)
|
|
|
|
return _cmd
|
|
}
|