package config

import (
	_ "embed"
	"fmt"
	"gopkg.in/yaml.v2"
	"os"
)

type ApplicationYamlStruct struct {
	Cname            string `yaml:"cname"`
	Endpoint         string `yaml:"endpoint"`
	AccessKeyId      string `yaml:"accessKeyId"`
	AccessKeySecret  string `yaml:"accessKeySecret"`
	BucketName       string `yaml:"bucketName"`
	Cname2           string `yaml:"cname2"`
	Endpoint2        string `yaml:"endpoint2"`
	AccessKeyId2     string `yaml:"accessKeyId2"`
	AccessKeySecret2 string `yaml:"accessKeySecret2"`
	BucketName2      string `yaml:"bucketName2"`
	CodeDir          string `yaml:"codeDir"`
	VaildateCmd      string `yaml:"vaildateCmd"`
	ServicePort      string `yaml:"servicePort"`
	ServiceName      string `yaml:"serviceName"`
	LogDir           string `yaml:"logDir"`
}

var (
	// 使用外部配置文件 go:embed application.yaml
	applicationYamlBytes []byte
	ApplicationYaml      ApplicationYamlStruct
)

//// 使用embed加载
//func InitApplication() {
//	_ = yaml.Unmarshal(applicationYamlBytes, &ApplicationYaml)
//	fmt.Println("加载配置文件内容为:", ApplicationYaml)
//	// 创建镜像下载目录
//	util.CreateDir(ApplicationYaml.K8s.AlgorithmTarTempDir)
//}

// 使用外部文件加载
func InitApplication(applicationYamlPath string) {
	var err error
	applicationYamlBytes, err = os.ReadFile(applicationYamlPath) // 在哪里执行命令,配置文件就放哪里
	if err != nil {
		fmt.Println("Error reading file:", err)
		return
	}
	_ = yaml.Unmarshal(applicationYamlBytes, &ApplicationYaml)
	fmt.Println("加载配置文件内容为:", ApplicationYaml)
}