Валидация переменных окружения (chutils env)
Команда chutils env предоставляет инструменты для декларативной проверки и валидации переменных окружения (Environment Variables) на основе Pydantic-моделей манифестов.
Это позволяет гарантировать наличие и правильность типов всех необходимых конфигураций окружения (например, токенов, хостов БД, портов) до старта приложения.
Синтаксис
chutils env validate [-h] [-m MANIFEST]
Параметры и флаги:
| Флаг | Описание | Обязательный |
|---|---|---|
-m, --manifest |
Строка импорта манифеста в формате module.submodule:ClassName. Если не указана, утилита пытается автоматически обнаружить путь к манифесту. |
Нет |
Автоопределение пути к манифесту
Если флаг -m / --manifest опущен, chutils env validate пытается найти путь к классу манифеста в следующих местах (в порядке приоритета):
- В центральном конфигурационном файле проекта (например,
config.yml) под ключом:yaml env: manifest: "myapp.env:AppEnv" - В файле
pyproject.tomlв секции:toml [tool.chutils.env] manifest = "myapp.env:AppEnv"
Примеры использования
1. Запуск с явным указанием манифеста
chutils env validate -m myapp.env:AppEnv
2. Запуск с автоопределением из настроек проекта
chutils env validate
Возвращаемые коды выхода (Exit Codes)
Команда возвращает соответствующие стандартные POSIX коды для интеграции в CI/CD пайплайны и автоматические скрипты:
0— Переменные окружения успешно прошли проверку и соответствуют схеме манифеста.1— Валидация провалилась (отсутствуют обязательные переменные или не совпадают типы). Выводится подробный отчет с ошибками (в виде таблицыrich, если библиотека установлена).