MCPcopy Create free account
hub / github.com/buggregator/server / loadConfigFile

Function loadConfigFile

internal/app/config.go:271–299  ·  view source on GitHub ↗
(path string)

Source from the content-addressed store, hash-verified

269}
270
271func loadConfigFile(path string) Config {
272 var cfg Config
273 if path == "" {
274 for _, name := range []string{"buggregator.yaml", "buggregator.yml"} {
275 if _, err := os.Stat(name); err == nil {
276 path = name
277 break
278 }
279 }
280 }
281 if path == "" {
282 return cfg
283 }
284
285 data, err := os.ReadFile(path)
286 if err != nil {
287 slog.Warn("failed to read config file", "path", path, "err", err)
288 return cfg
289 }
290
291 expanded := expandEnvVars(string(data))
292 if err := yaml.Unmarshal([]byte(expanded), &cfg); err != nil {
293 slog.Warn("failed to parse config file", "path", path, "err", err)
294 return cfg
295 }
296
297 slog.Info("loaded config file", "path", path)
298 return cfg
299}
300
301var envVarPattern = regexp.MustCompile(`\$\{([^}:]+)(?::([^}]*))?\}`)
302

Callers 1

LoadConfigFunction · 0.85

Calls 1

expandEnvVarsFunction · 0.85

Tested by

no test coverage detected