// Package agent собирает бэкап на клиенте и отправляет его на сервер. package agent import ( "fmt" "os" "gopkg.in/yaml.v3" ) const DefaultConfigPath = "/etc/backup-agent/agent.yaml" type Config struct { Server string `yaml:"server"` Token string `yaml:"token"` SpoolDir string `yaml:"spool_dir"` } func LoadConfig(path string) (*Config, error) { data, err := os.ReadFile(path) if err != nil { return nil, err } var c Config if err := yaml.Unmarshal(data, &c); err != nil { return nil, fmt.Errorf("%s: %w", path, err) } if c.Server == "" || c.Token == "" { return nil, fmt.Errorf("%s: нужны server и token", path) } if c.SpoolDir == "" { c.SpoolDir = "/var/tmp/backup-agent" } return &c, nil }