minimcd/config.go

31 lines
704 B
Go

package main
import (
"gopkg.in/yaml.v2"
"os"
)
type Config struct {
Timeout int `yaml:"timeout"` // minutes
StartCommand string `yaml:"start_command"`
Port string `yaml:"port"`
ConnectTimeout int `yaml:"connect_timeout"` //seconds
}
// this is a global constant since it's shared
var config Config
func LoadConfig(filePath string) error {
data, err := os.ReadFile(filePath)
if err != nil {
GetLogger().Fatalf("Failed to read config file: %v", err)
return err
}
if err := yaml.Unmarshal(data, &config); err != nil {
GetLogger().Fatalf("Failed to unmarshal config: %v", err)
return err
}
GetLogger().Info("Configuration loaded successfully")
return nil
}