package initcmd import ( "fmt" "os" "sunhpc/internal/auth" "sunhpc/internal/config" "sunhpc/internal/log" "github.com/spf13/cobra" ) var configCmd = &cobra.Command{ Use: "config", Short: "生成基础配置文件", Long: "创建 /etc/sunhpc 目录并生成所有默认配置文件(若目录已存在则跳过)", RunE: func(cmd *cobra.Command, args []string) error { if err := auth.RequireRoot(); err != nil { return err } // 检查目录是否已存在 if _, err := os.Stat(config.BaseDir); err == nil { log.Warnf("配置目录 %s 已存在,跳过初始化", config.BaseDir) return nil } log.Info("初始化 SunHPC 配置目录...") if err := config.InitDirs(); err != nil { return fmt.Errorf("创建目录失败: %v", err) } if err := config.CreateDefaultConfigs(); err != nil { return fmt.Errorf("生成默认配置文件失败: %v", err) } log.Info("配置文件已生成,请根据需要编辑 /etc/sunhpc/ 下的 YAML 文件") return nil }, }