Pull to refresh

Comments 3

Кажется проблемы начинаются там, где принимается первое решение "а давайте добавим третий вид конфигов - ничего страшного не случится же?".
Да, бывают ситуации, когда, например, нужно иметь статичный конфиг yaml, а из env/path задавать какие-то внешние переменные, которые задаются иным способом (по виду данных и особенностям работы с ним с точки зрения бизнес-требований).
Но когда добавляют третий способ конфига - это уже что-то не то в архитектуре, надо рефакторить идею (вы же идею обсуждаете до реализации (прототип допускается), а не постфактум?).

А по существу: yq, как вариант (в смысле код переиспользовать. Ну или как внешний сервис, тоже почему бы и нет. Это же всё равно только первые миллисекунды инициализации).

Кажется проблемы начинаются там, где принимается первое решение "а давайте добавим третий вид конфигов - ничего страшного не случится же?".

Я тоже так вижу. Проблемы после принятия и реализации необдуманных решений, либо в силу малого опыта(некомпетентности). Например (далее сарказм из практики): А, давай-те выгрузим конфиги в AWS object/secret storage. Будем их забирать микросервисами... или нет, а давай-те пропишим это как-то в env среду на этапе сбора контейнера и перезапишем в момент запуска орекстратором... А, да точно, у нас же ещё служный вложенный XML... Переработать legacy XML конфиги - это потом, сейчас не до этого(отложенный рефакторинг). И конечно, пока внедрение внешних конфиг сервисов буксует, кто-то может начать, не дожидаясь когда config-serivce-client будет готов, писать конфиги в YAML.

Но когда добавляют третий способ конфига - это уже что-то не то в архитектуре, надо рефакторить идею (вы же идею обсуждаете до реализации (прототип допускается), а не постфактум?).

Из личной практики сталкивался постфактум и обсуждение не всегда протикают в рациональном русле. Сжатыйе сроки, импульсивные решения, необдуманость - всё это есть.

> А по существу: yq, как вариант (в смысле код переиспользовать. Ну или как внешний сервис, тоже почему бы и нет. Это же всё равно только первые миллисекунды инициализации).

Согласен, что yq умеет многое и часто использую в качестве клея в shell скриптах. Загляну под капот, может ли он обеспечить мэппинг, либо заместить часть функционала. Благодаю за фидбэк и наводку!

А как на счет построение файлов конфигурации yaml/json на основе шаблонов tmpl по переменным окружения?

Sign up to leave a comment.

Articles