Об этом проекте

Spring Config Contract — это инструмент разработчика с открытым исходным кодом, предназначенный для выявления расхождений конфигурации в приложениях Spring Boot до развёртывания. Он сравнивает конфигурацию, требуемую приложением (из @ConfigurationProperties, @Value и application.yml), с тем, что предоставляет среда развёртывания (из .env.example и файлов Docker Compose), и сообщает об отсутствующих и неиспользуемых ключах конфигурации. Проект находится на ранней стадии разработки с целевой версией v0.1.0. Репозиторий в настоящее время содержит инфраструктуру разработки, каркас модулей и документацию; функциональность продукта пока не доступна широкой публике. Планируемый объём v0.1.0 включает обнаружение входных данных на стороне Spring, разбор .env.example и Docker Compose на стороне развёртывания, результаты проверки контракта (отсутствующая/неиспользуемая конфигурация, поведение обязательных/необязательных параметров, сравнение с учётом значений по умолчанию) и плагин Gradle с задачей configContractCheck. Плагин Gradle (io.github.inryeok-office.config-contract) реализован в ветке main, но ещё не опубликован; его можно использовать только при сборке из исходного кода. Задача компилирует основной набор исходных файлов, обнаруживает требования, читает файлы развёртывания и выводит результаты, упорядоченные по ключу. Она завершается с ошибкой при любом результате MISSING или UNUSED, но не привязана к задаче check. Кодовая база организована в модули: config-contract-core (независимые от фреймворка доменные модели и правила сравнения), config-contract-spring (обнаружение, специфичное для Spring), config-contract-deployment (парсеры форматов развёртывания), config-contract-gradle-plugin (интеграция с Gradle) и config-contract-test (общие фикстуры). Требуется JDK 21. Лицензия — Apache 2.0.