Я хочу разработать язык описания, который позволит разработчикам объявить, какие возможные параметры конфигурации действительны для их программного артефакта.
Например, вы можете объявить, что порт должен быть числом от 8004 до 8010. Позже я хотел бы иметь возможность определять зависимости между артефактами и то, как могут быть составлены различные артефакты. Предполагается, что полем работы будут серверы приложений Java.
Важно то, что вы не настраиваете артефакт, но определяете набор возможных значений.
Следующим шагом будет реализация инструмента, который может проверить, соответствует ли фактическая конфигурация соответствующему описанию.
Кто-нибудь знает инструменты или решения - предпочтительно в мире Java - которые я мог бы (повторно) использовать для любой из поставленных целей? Я уже рассматривал инструменты управления конфигурациями, такие как puppet или cfengine, но обнаружил, что они не предоставляют достаточных возможностей описания и более полезны для выполнения реальных конфигураций. Возможно, я просто смотрел на них неправильно.