From 1b9e2da3b3c438d8dc53d3489725dd5ba0022777 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Thu, 11 Jun 2026 04:46:27 -0400 Subject: feat: web client, get/drop updates and fixes --- internal/config/config.go | 59 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 internal/config/config.go (limited to 'internal/config') diff --git a/internal/config/config.go b/internal/config/config.go new file mode 100644 index 0000000..8ff5740 --- /dev/null +++ b/internal/config/config.go @@ -0,0 +1,59 @@ +package config + +import ( + "os" + + "gopkg.in/yaml.v3" +) + +type Config struct { + Telnet TelnetConfig `yaml:"telnet"` + HTTP HTTPConfig `yaml:"http"` + HTTPS HTTPSConfig `yaml:"https"` +} + +type TelnetConfig struct { + Enabled bool `yaml:"enabled"` + Port int `yaml:"port"` +} + +type HTTPConfig struct { + Enabled bool `yaml:"enabled"` + Port int `yaml:"port"` +} + +type HTTPSConfig struct { + Enabled bool `yaml:"enabled"` + Port int `yaml:"port"` + CertFile string `yaml:"cert_file"` + KeyFile string `yaml:"key_file"` +} + +func Default() *Config { + return &Config{ + Telnet: TelnetConfig{ + Enabled: true, + Port: 4000, + }, + HTTP: HTTPConfig{ + Enabled: false, + Port: 8080, + }, + HTTPS: HTTPSConfig{ + Enabled: false, + Port: 8443, + }, + } +} + +func Load(path string) (*Config, error) { + data, err := os.ReadFile(path) + if err != nil { + return nil, err + } + cfg := Default() + if err := yaml.Unmarshal(data, cfg); err != nil { + return nil, err + } + return cfg, nil +} -- cgit v1.2.3