[Code Quality] Несогласованная семантика verify_ssl: из YAML true → путь к CA-bundle, из env true → bool #62
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проблема
Одна и та же настройка
verify_sslдаёт значения разных типов в зависимости от источника конфигурации.YAML
verify_ssl: true→ путь/etc/ssl/certs/ca-certificates.crt(redmine_reporter/config.py:162-163):Env
REDMINE_VERIFY=true→ boolTrue(redmine_reporter/config.py:295-300):Для
requestsоба варианта рабочие (True— системное хранилище CA, путь — конкретный bundle), но семантика различается: системное хранилище и захардкоженный путь (config.py:17,DEFAULT_REDMINE_VERIFY = "/etc/ssl/certs/ca-certificates.crt") — не одно и то же. На дистрибутивах с другим расположением CA или в контейнерах поведение YAML и env конфигураций будет разным при внешне одинаковых настройках.Тесты явно фиксируют оба поведения, то есть расхождение осознанное, но недокументированное и запутанное для пользователя.
Рекомендации
trueиз любого источника должно давать одно и то же значение (либо всегдаDEFAULT_REDMINE_VERIFY, либо всегдаTrue; путь к CA оставить настраиваемым отдельным параметром).docs/CONFIG.md.Связанные места
redmine_reporter/config.py:17(DEFAULT_REDMINE_VERIFY)redmine_reporter/config.py:160-170(YAMLverify_ssl)redmine_reporter/config.py:295-300(envREDMINE_VERIFY)docs/CONFIG.mdКритерии приёмки
verify_ssl: true(YAML) иREDMINE_VERIFY=true(env) дают идентичный результат.docs/CONFIG.md.