2024-04-10 14:54:11 +08:00

47 lines
979 B
Go

package mageutil
import (
"gopkg.in/yaml.v3"
"io/ioutil"
"log"
"runtime"
)
var (
serviceBinaries map[string]int
toolBinaries []string
MaxFileDescriptors int
)
type Config struct {
ServiceBinaries map[string]int `yaml:"serviceBinaries"`
ToolBinaries []string `yaml:"toolBinaries"`
MaxFileDescriptors int `yaml:"maxFileDescriptors"`
}
func init() {
yamlFile, err := ioutil.ReadFile("start-config.yml")
if err != nil {
log.Fatalf("error reading YAML file: %v", err)
}
// 解析YAML
var config Config
err = yaml.Unmarshal(yamlFile, &config)
if err != nil {
log.Fatalf("error unmarshalling YAML: %v", err)
}
adjustedBinaries := make(map[string]int)
for binary, count := range config.ServiceBinaries {
if runtime.GOOS == "windows" {
binary += ".exe"
}
adjustedBinaries[binary] = count
}
serviceBinaries = adjustedBinaries
toolBinaries = config.ToolBinaries
MaxFileDescriptors = config.MaxFileDescriptors
}