37 lines
811 B
Go
37 lines
811 B
Go
package makecmd
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/spf13/cobra"
|
|
"yizhisec.com/hsv2/forge/internal/controller/maker"
|
|
"yizhisec.com/hsv2/forge/internal/opt"
|
|
)
|
|
|
|
func Mysql() *cobra.Command {
|
|
var (
|
|
replicas int
|
|
storage int
|
|
)
|
|
|
|
_cmd := &cobra.Command{
|
|
Use: "mysql",
|
|
Short: "Build MySQL resources",
|
|
Long: `Build and prepare MySQL database resources.`,
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
opts := []maker.MysqlOpt{
|
|
maker.WithMySQLReplica(replicas),
|
|
maker.WithMySQLStorage(fmt.Sprintf("%dGi", storage)),
|
|
}
|
|
|
|
mk := maker.NewMaker(opt.Cfg.Make.Dir)
|
|
return mk.MySQL(cmd.Context(), opts...)
|
|
},
|
|
}
|
|
|
|
_cmd.Flags().IntVar(&replicas, "replica-count", 2, "mysql 的副本数")
|
|
_cmd.Flags().IntVar(&storage, "storage-size", 50, "mysql 的存储空间(GB)")
|
|
|
|
return _cmd
|
|
}
|