через env? Или может быть какой-то другой подход конфигурирования.
В чем дело - написан сервис с большим развесистым конфигом.
Используется viper, те он может читать как файл , так и энв переменные. Это все оч легко, если в конфиге одномерная структура из типа ini - ключ-значение. Но если в конфиге лежат массивы структур, то уже не очень ясно, как это вытащить в env.
храни json в env
Массивы через запятую просто
Некоторое время задавал процитированный вопрос - как быть с большим конфиг файлом в проекте (файлом, который содержит много сложных структур) и непонятно, как такой конфиг поставлять через переменные окружения при использовании viper. Вообщем для себя сделал вот такой фикс - вручную проверяем переменную окружения CONFIG и если она задана, пишем ее содержимое в отдельный файл, и переучиваем viper читать этот файл. Так мы можем поставлять сложный конфиг через энв, также сохранена совместимость с всей функциональностью viper, которая ранее использовалась. https://play.golang.org/p/ec_uczgNuQ4
Обсуждают сегодня