This commit is contained in:
2026-02-14 05:36:00 +08:00
commit d7cd899983
37 changed files with 4169 additions and 0 deletions

41
cmd/init/config.go Normal file
View File

@@ -0,0 +1,41 @@
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
},
}