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  }