autumn-openfeature
Стартер autumn для фича-флагов OpenFeature.
Какую задачу решает
Библиотека openfeature даёт стандартный API оценки флагов, но требует ручной настройки при старте: выбрать провайдера, передать ему путь к конфигурации, зарегистрировать, получить клиента. В приложении на autumn такой код приходится писать в точке входа и следить, чтобы он выполнился раньше прикладных компонентов.
Стартер убирает эту работу. Провайдер описывается секцией в autumn-properties.json, а клиент оценки становится обычным желудем: прикладной компонент объявляет &Пластилин Перем FeatureClient и сразу работает с флагами.
Что это даёт
- Источник флагов меняется настройкой, а не кодом. На стенде
json, в тестахnone, в проде свой провайдер. - Нет порядка инициализации в прикладном коде. Клиент собирается по требованию, поэтому неважно, какой компонент обратится к флагам первым.
- Тесты не требуют заглушек. Режим
noneоставляет провайдер-заглушку, и компонент получает переданные значения по умолчанию.
Границы ответственности
| Проект | Отвечает за |
|---|---|
openfeature | Стандартный API, провайдеры, контекст, хуки |
autumn-openfeature | Настройка провайдера и выдача клиента как желудя |
oneflag-sdk | Провайдер, читающий флаги с сервера OneFlag |
Стартер намеренно тонкий: он не добавляет своего API оценки и не оборачивает клиента. Прикладной код пишется против openfeature, поэтому отказ от осени или переход на другой контейнер не потребует переписывать вызовы флагов.
Ограничения
- Поддерживаются провайдеры
json,memoryиnone. Внешние провайдеры (напримерoneflag-sdk) регистрируются обычным способом, черезOpenFeature.УстановитьПровайдер, потому что им нужны свои параметры подключения. - Один клиент на приложение. Несколько доменов с разными провайдерами не поддерживаются: в спецификации это доменные провайдеры, а библиотека
openfeatureпока их не реализует.
