Size: a a a

2021 February 26

БС

Байт Словович... in rannts
в волтах ты хранишь и таймауты на всякое разное и всякие лимиты, и название сервиса, которое юзеру показывается?
и номер базы в редисе, имя эксченжа в кролике?
источник

SA

Sergey Arkhipov in rannts
это можно и без волта прокинуть
источник

БС

Байт Словович... in rannts
как?
источник

SA

Sergey Arkhipov in rannts
источник

БС

Байт Словович... in rannts
с волтом и подобными штуками есть одна проблема. Нет трекинга изменений. Оно тебе не покажет что и кто и когда и почему поменял.
и в секретах должны быть максимум пароли от баз данных и других систем.
источник

БС

Байт Словович... in rannts
офигенно.. А почему нельзя сразу yaml файл дать приложению?
источник

AS

Artem Savinov in rannts
так то хардкод или подразумевается что конфиги для кубера чем то генерятся?
источник

SA

Sergey Arkhipov in rannts
Байт Словович
с волтом и подобными штуками есть одна проблема. Нет трекинга изменений. Оно тебе не покажет что и кто и когда и почему поменял.
и в секретах должны быть максимум пароли от баз данных и других систем.
Это все трекается, если такие секреты хранить в гите. Мы так и делали, секреты лежали прямо в том же репозитории, что и само приложение
источник

SA

Sergey Arkhipov in rannts
Байт Словович
офигенно.. А почему нельзя сразу yaml файл дать приложению?
А откуда ты его возьмешь и где будешь хранить?
источник

AS

Artem Savinov in rannts
Байт Словович
о да.. все одинакого.. великий и ужасный settings.py и dotenv. И каждый выдумывает как прод/от не прод определить. А потом оказывается чтобы юниттесты работали, нужно вот этот env файл подсунуть, а если локально запутить вот такой. А при деплоее в кубере, надо девопсу как то сообщить какие переменные окружения нужно определить.
чем те dotenv для стендов не угодил- это как backend.cfg и backend_dev.cfg в buildout (вроде ты же сам это ввел)
источник

БС

Байт Словович... in rannts
Sergey Arkhipov
А откуда ты его возьмешь и где будешь хранить?
хранить в гите, где же еще?
источник

AS

Artem Savinov in rannts
Байт Словович
офигенно.. А почему нельзя сразу yaml файл дать приложению?
да по идее можно- засовываешь его в кубере в configmap и дальше скармливаешь как volume
https://gist.github.com/petitviolet/d36f33d145d0bbf4b54eb187b79d0244
источник

SA

Sergey Arkhipov in rannts
Хочу, кстати, заметить, что это уже все заморочки кубернетеса, которые к джанге-то отношения не имеют
источник

БС

Байт Словович... in rannts
я хочу заметить, что в большинстве случаев получается так, что конфиг так или иначе лежит в yaml или в шаблоне, из которого получается yaml, а потом с помощью магии переводить в переменные окружения. И нифига не понятно  почему нельзя сразу подсунуть этот yaml приложению.
источник

БС

Байт Словович... in rannts
Только yaml из коробки можно делать иерархию, можно указывать конкретные типа, а не просто строки.
источник

SA

Sergey Arkhipov in rannts
В settings.py тоже так можно. А секреты брать из переменных окружения
источник

БС

Байт Словович... in rannts
можно но сайд эффектов много.
Я видел и такое:
stage = os.environ["stage"]
importlib.import_module(f"settings-{stage}.py")
источник

БС

Байт Словович... in rannts
А потом получается что в одном стедж конфиге добавили параметр, в другом забыли.. Естественно упало на проде всё
источник

SA

Sergey Arkhipov in rannts
а как ямл тебе тут поможет?
источник

БС

Байт Словович... in rannts
потом вводят разные полики, как и что хранить в settings.py и т.д.
А заканчивается тем, что рядовой разработчик лишний раз боится вынести какой то параметр в конфиг, "а в друг devops забудет или не то поставит".. ну его нафиг, захардхожу, глядишь на ревью не заметят
источник