Andrey
Да ладно. У golang есть 2 стиля. Новичка и матерого (хз как точно описать). мой открываешь - новичка, k8s матерых, nomad матерых.
Новичок говорит, что generics не нужны, потому что синтаксис и проекты простые, а матёрый КОДОГЕНЕРАТОРЫ пишет? :)
Dmytro
для большой компании - там уже наверняка есть какой-то convention и прочее
Andor
для 90% применений, где его пихают - оверкил
Дмитрий
А как правильно настроить исполнение миграции схемы базы после билда и деплоя веб контейнера, например, джанго?
Rainbow
честно говоря, полезность волта сомнительна
мне больше всего нравится, что не нужно следить за тем, чтобы старые доступы удалять. Там если исчещает приложение, то по ttl умирают доступы его.
Dmytro
а так - git crypt или от силы aws secrets для 90% стартапов
Dmytro
мне нравится идея заландо ещё - тупо kms ключем шифровать и пихать в куб секрет этот блоб
Rainbow
для 90% можно и пароли в исходниках. Ну ладно, просто в env у ci
Rainbow
У меня секреты в gitlab ci runner variables хранятся на основном проекте 🙈 но к кубу только я имею доступ, пофиг.
Dmytro
никаких лишних зависимостей, секреты нигде не торчат в открытом виде (как в том же git crypt на каждом ноуте или в CI любому с доступом в CI или на сам инстанс с CI)
George
но при необходимости тима может эти переменные спиздить через раннера
George
или скомпрометировать gitlab-ci.yaml
George
но это все будет видно )
Rainbow
если может пушить в protected ветки
Rainbow
у меня не может 😂
Dmytro
секрет полишинеля же
Dmytro
умный Вася сделает base64 | echo и вуаля
Dmytro
камон
Rainbow
откуда?
Rainbow
> но к кубу только я имею доступ, пофиг.
Dmytro
в gitlab-ci.yaml башнянке
Andor
умный Вася сделает base64 | echo и вуаля
протектет вариаблес для протектет веток на протектед раннерах
George
умный Вася сделает base64 | echo и вуаля
в теории Вася не сможет на НЕ ПРОТЕКТЕД раннере это сделать
Dmytro
ну и?
George
ну, а на гитлаб сиай файл - изменения только через мерж реквест, иначе нахер
Dmytro
если конечно у вас один человек мерджит в протектед ветки то у вас там 3 человека на проекте
Andor
левые люди не могут пушить в протектед ветки и запускать джобы на протектед раннерах
Dmytro
и там вообще можно без CI
Andor
без CI нельзя даже если один
Rainbow
если конечно у вас один человек мерджит в протектед ветки то у вас там 3 человека на проекте
большей части компаний где я работал достаточно было 5 людей в команде 😁 Даже если из было 20
Dmytro
а если у вас действительно CI/CD то это значит что либо вообще trunk based development либо все могут в мастер мерджить и лить на прод
Dmytro
и значит читай выше про любой Вася
Rainbow
ну т.е. боттлнек налицо и никакого CD
нет, просто у меня убеждения, что можно порезать чуть фичи и на порядок упростить код
Andor
функциональность
Dmytro
упростить код = ввести протектед бранчи и раннеры? оок
Rainbow
Из самых ярких примеров - нам нужна синхронизация между корзинами на всех устройствам - зачем? - чтобы отправлять email с забытыми корзинами - нет, вам не нужна синхронизация. Вам нужно генерировать в email ссылки вида site.com/cart?restore=id&quantity
Rainbow
А люди пол года отлаживали синхронизацию корзин между устройствами и она так и не заработала адекватно.
Oleg
У яндекса вроде номад?
Rainbow
у них там наркоманское что-то
Andor
у яндекса дохрена чего, не удивлюсь если и номад где-то есть
Dmytro
синхронизация корзин это вообще антипаттерн, я понимаю ещё при логине мерджить сохраненную корзину и ту что в текущей сессии
Dmytro
и то я бы сказал это плохо
Rainbow
синхронизация корзин это вообще антипаттерн, я понимаю ещё при логине мерджить сохраненную корзину и ту что в текущей сессии
Я сказал, что репликацию делаю куча умных людей для баз. И не всегда получается. Я тупой, извините, давай-те вот так.
Dmytro
тут лучше на самом деле было взять e-commerce patterns/best practices
Dmytro
там есть свои ньюансы при поиске например
Dmytro
(типа не показывать пустую страницу результатов а всегда показать хоть что-то типа может быть релевантно)
Dmytro
и т.д. и т.п.
Vadim
у меня в сентбяре ещё 1.5 был в 6 кластерах
а дайте URL а апишке посмотреть
Rainbow
Мы говорили, про то что в большей части компаний достаточно иметь малькую команду. А там где была большая - есть раздутие и боязнь резать фичи ради простоты часто.
Dmytro
а дайте URL а апишке посмотреть
уже нету, на 1.10 перешли, ну и само собой там по айпи закрыто
Dmytro
либо раздутие штата чтобы менеджер мог потом в линкедине обновить профиль что менеджил ХХ чел найти покруче работу
Rainbow
либо раздутие штата чтобы менеджер мог потом в линкедине обновить профиль что менеджил ХХ чел найти покруче работу
Да, я у таких думаю копировать строки для своего резюме, умеют красиво в 2 абзацах рассказать, что с ними команда использовала gitlab и какая фантастика получилась.
𝚔𝚟𝚊𝚙𝚜
а так - git crypt или от силы aws secrets для 90% стартапов
git crypt - прекрасен, особенно в сочетании с jsonnet
Dmytro
прекрасен ровно до момента когда кто-то уходит из компании
𝚔𝚟𝚊𝚙𝚜
local secrets = import 'secrets.libsonnet';
Dmytro
а потом появляется много вопросов - а что делать
Andor
@zuzzas я тут пытаюсь на старого прометея натравить через сервисмонитор
Andrey
@zuzzas я тут пытаюсь на старого прометея натравить через сервисмонитор
Старый prometheus-operator? Тогда не знаю, честно говоря.
Andor
нет, просто прометей, без оператора
Dmytro
ну хорошо, я могу поменять свои секреты (база там и т.п.) а вот например нью релик license code - как быть с ним? Ушедший человек может нагенерить костов нам в нью релике на сотни тысяч
Andor
в смысле на тот который у меня давно уже
Dmytro
и т.д. и т.п.
Andor
не, он у меня в другом неймспейсе
Andor
сервисмонитор в котором неймспейсе надо создавать?
Andrey
В Namespace Prometheus, который operator менеджит.
𝚔𝚟𝚊𝚙𝚜
а потом появляется много вопросов - а что делать
бежать менять пароли ага. Использование Vault в этом плане более логично, но все равно имеет смысл только когда ты этим действительно этим заморочишься, выстроишь все доступы и не разрешишь девелоперам читать пароли из него
Даня
- image: {{ .Values.image.repository }}/dev-{{ .Values.application.name }}:{{ .Values.image.tag }} name: {{ .Values.application.name }} imagePullPolicy: {{ .Values.image.pullPolicy }} {{- if .Values.resources }} resources: {{ toYaml .Values.resources | indent 10 }} {{- end -}} ports: - name: {{ .Values.service.access.name }} containerPort: {{ .Values.service.access.port }}
Даня
подскажите плз/, почему разъезжаются строки при верстке хельм теймплейта