minimcd/config.go

32 lines
671 B
Go

package main
import (
"gopkg.in/yaml.v2"
"os"
)
type Config struct {
Server struct {
Timeout int `yaml:"timeout"`
StartCommand string `yaml:"start_command"`
Address string `yaml:"address"`
} `yaml:"server"`
}
// 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
}