internal/config: загрузка YAML+env (подстановка ${VAR:-default}, defaults, env override, Validate)
All checks were successful
build-test / build (push) Successful in 1m23s

This commit is contained in:
Hermes
2026-08-14 22:59:23 +05:00
parent c9d69594cc
commit 238f00ba36
6 changed files with 458 additions and 1 deletions

15
internal/config/errors.go Normal file
View File

@@ -0,0 +1,15 @@
package config
import "errors"
// Классы ошибок конфига (C1..C4).
var (
// C1 — обязательное поле пусто (токен, url и т.п.)
ErrMissingField = errors.New("config: missing required field")
// C2 — невалидный формат (YAML-синтаксис, Duration, число)
ErrInvalidFormat = errors.New("config: invalid format")
// C4 — файл конфига не найден (не fatal: Load ищет ./config.yaml, флаг --config)
ErrFileNotFound = errors.New("config: file not found")
)