Clean Env - минималистичная библиотека для работы с конфигурацией
https://github.com/ilyakaznacheev/cleanenv
Чаще всего для конфигурации в Go используют spf13/viper, наверняка вы о нём слышали.
Но если вам хочется минималистичности и простоты, Clean Env вам понравится. Тут нет ничего лишнего, а значит легко разобраться, сложно сломать. При этом, всё необходимое тут имеется, в том числе поддержка популярных форматов конфига: yaml, json, toml, env.
Особенно мне понравилась работа с тегами структуры, в которую будет парситься конфиг:
-
-
-
- и др.
У Viper не все из этого есть, а для задания имени параметров нужно использовать неочевидный тег -
————
Кстати, если вам вдруг не понравился ни Viper, ни Clean Env, можете посмотреть в сторону koanf, тоже интересный и популярный вариант.
————
💻 Расскажите в комментариях, какими библиотеками для конфигурации вы пользовались, какие вам больше понравились и почему
#package #configuration
https://github.com/ilyakaznacheev/cleanenv
Чаще всего для конфигурации в Go используют spf13/viper, наверняка вы о нём слышали.
Но если вам хочется минималистичности и простоты, Clean Env вам понравится. Тут нет ничего лишнего, а значит легко разобраться, сложно сломать. При этом, всё необходимое тут имеется, в том числе поддержка популярных форматов конфига: yaml, json, toml, env.
Особенно мне понравилась работа с тегами структуры, в которую будет парситься конфиг:
-
env-default
- дефолтные значения для параметров-
yaml
/ json
/ env
- имена параметров для парсинге из разных источников-
env-required
- отмечает поле как обязательное- и др.
У Viper не все из этого есть, а для задания имени параметров нужно использовать неочевидный тег -
mapstructure
.————
Кстати, если вам вдруг не понравился ни Viper, ни Clean Env, можете посмотреть в сторону koanf, тоже интересный и популярный вариант.
————
#package #configuration
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36🔥5❤3