Перейти к содержанию

Валидация переменных окружения (chutils env)

Команда chutils env предоставляет инструменты для декларативной проверки и валидации переменных окружения (Environment Variables) на основе Pydantic-моделей манифестов.

Это позволяет гарантировать наличие и правильность типов всех необходимых конфигураций окружения (например, токенов, хостов БД, портов) до старта приложения.


Синтаксис

chutils env validate [-h] [-m MANIFEST]

Параметры и флаги:

Флаг Описание Обязательный
-m, --manifest Строка импорта манифеста в формате module.submodule:ClassName. Если не указана, утилита пытается автоматически обнаружить путь к манифесту. Нет

Автоопределение пути к манифесту

Если флаг -m / --manifest опущен, chutils env validate пытается найти путь к классу манифеста в следующих местах (в порядке приоритета):

  1. В центральном конфигурационном файле проекта (например, config.yml) под ключом: yaml env: manifest: "myapp.env:AppEnv"
  2. В файле 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, если библиотека установлена).