diff --git a/.gitignore b/.gitignore index 2eea525..d19b928 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.env \ No newline at end of file +.env +agent.dev.yaml \ No newline at end of file diff --git a/internal/agent/utils/config_yaml/config.go b/internal/agent/utils/config_yaml/config.go new file mode 100644 index 0000000..f9c2f72 --- /dev/null +++ b/internal/agent/utils/config_yaml/config.go @@ -0,0 +1,31 @@ +package config_yaml + +import ( + "fmt" + "os" + + "gopkg.in/yaml.v3" +) + +type AgentConfig struct { + AppName string `yaml:"app_name"` + HubConnect struct { + Host string `yaml:"host"` + Port int `yaml:"port"` + } `yaml:"hub"` +} + +func NewConfig() (*AgentConfig, error) { + yamlFile, err := os.ReadFile("config.yaml") + if err != nil { + return nil, fmt.Errorf("failed open file: %v", err) + } + + var cfg AgentConfig + + if err = yaml.Unmarshal(yamlFile, &cfg); err != nil { + return nil, fmt.Errorf("failed read yaml: %v", err) + } + + return &cfg, nil +}