github.com/openimsdk/tools@v0.0.49/utils/mageutil/define.go (about) 1 package mageutil 2 3 import ( 4 "gopkg.in/yaml.v3" 5 "io/ioutil" 6 "log" 7 "runtime" 8 ) 9 10 var ( 11 serviceBinaries map[string]int 12 toolBinaries []string 13 MaxFileDescriptors int 14 ) 15 16 type Config struct { 17 ServiceBinaries map[string]int `yaml:"serviceBinaries"` 18 ToolBinaries []string `yaml:"toolBinaries"` 19 MaxFileDescriptors int `yaml:"maxFileDescriptors"` 20 } 21 22 func InitForSSC() { 23 yamlFile, err := ioutil.ReadFile("start-config.yml") 24 if err != nil { 25 log.Fatalf("error reading YAML file: %v", err) 26 } 27 28 var config Config 29 err = yaml.Unmarshal(yamlFile, &config) 30 if err != nil { 31 log.Fatalf("error unmarshalling YAML: %v", err) 32 } 33 34 adjustedBinaries := make(map[string]int) 35 for binary, count := range config.ServiceBinaries { 36 if runtime.GOOS == "windows" { 37 binary += ".exe" 38 } 39 adjustedBinaries[binary] = count 40 } 41 42 serviceBinaries = adjustedBinaries 43 toolBinaries = config.ToolBinaries 44 MaxFileDescriptors = config.MaxFileDescriptors 45 }