Andor
так что если у тебя нет выбора, то греп на стороне ансибла таки лучше, чем греп в команде
а ещё наверное loop: "{{ dict1 | product(dict2 | dict2items) | list}}" лучше чем: with_together: - "{{ dict1 | dict2items }}" - "{{ dict2 | dict2items }}"
Andor
люблю логику в jinja
Andor
люблю программирование на yaml
Sergey
Egor
так и живу, потихоньку выпиливая кусочками
Egor
башсибл - это плохо
следующие 2 сообщения прочти
Aleksey
а это здесь при чём?
Я поддерживаю позицию Сергея касательно башсибла. shell и command это не true way.
Timur
Мы в ролях стараемся всеми силами обходиться без модулей cmd и shell
Sergey
так и живу, потихоньку выпиливая кусочками
А вот за выпиливание - плюс. Прям плюс.
Aleksey
Просто Егор начал с холиварного заявления, а потом отступил на более компромиссную позицию ))
Aleksey
Главное чтобы человек понимал, почему shell в ансибле это плохо, тогда с этим можно работать. Иначе надо сначала объяснить эту позицию.
Egor
И твою мать, заколебал Роскомнадзор
Egor
Снова недоступна телега стала
Egor
Без впн
Aleksey
Да, я прочитал что шелл это гуд и включился режим "в интернете кто-то не прав" :D
Aleksey
Egor
Зря, шел - хреновый вариант. Но когда нет варианта ( нет модуля, нет времени/желания его писать, разовость задачи) - хрен бы им не воспользоваться
Aleksey
Если задача не одноразовая, а раскатывается регулярно - то лучше всё-таки модуль сделать.
Aleksey
Если написал плейбук, запустил и выкинул - то ок.
Timur
Timur
Не обязательно на питоне
Timur
Новичкам поэтому точно не стоит юзать shell и command
Aleksey
Мне вот модули еще самому писать тоже не приходилось, но если где-то требуется вызов баша, то я стараюсь его обязательно args: create сопровождать
Egor
Модуль, кстати, можно и на баше писать, если очень хочется :)
Ну как по мне, оборачивать в модуль прости прячя, по факту, те же самые грепы - тож неочень
Timur
Иначе это превращается в плохую привычку
Egor
Плюс модуль таки надо сопровождать на всю длину
Egor
о, ожил на компе :-)
Sergey
Модуль, кстати, можно и на баше писать, если очень хочется :)
Да, только аргументы приедут JSON-ом на вход 😊)))
Egor
только зачем
Sergey
Сам концепт. Ansible действительно поддерживает модули, написанные на чём угодно.
Sergey
Хоть бинарнички гошные.
Sergey
jq и awk придут на помощь :)
Не, ну я про то, в чём это хранить. У баша есть, канеш, даже ассоциативные массивы, но много ли пользователей башсибла в них умеют?
Andor
можно обобщить до "многие ли умеют читать документацию"
Egor
до "многие ли умеют читать"
Sergey
можно обобщить до "многие ли умеют читать документацию"
нууууууууу 😊))))) это прям такой набросный переход, что аж оффтопик 😉
Egor
ну, чисто технически, тут уже с полчаса просто флейм ради флейма
Sergey
ок, ждём роль про кластер редисов 😊
Aleksey
до "многие ли умеют читать"
не только лишь все, мало кто может это делать если вспомните автора, то мысль можно продолжить как - "многие ли умеют говорить" ))
Egor
ок, ждём роль про кластер редисов 😊
проще ту, на которую ссылку кидал, доделать
Egor
:-)
Timur
проще ту, на которую ссылку кидал, доделать
Напиши, что бы ты хотел там доделать
Egor
ну её, как минимум, надо поправить под убунту
Egor
там сейчас приколочен гвоздями селинукс, + в убунте имя пакета другое
Egor
потом надо переделать в сборке кластера, сейчас в редисе есть redis-cli в поставке, через который кластер собирается, а значит redis-trib не нужен, его не надо тащить с собой и т.д. (плюс зависимости ставить рубевые не надо отдельно)
Egor
+ у него там свой созданный фильтр, который я, если честно, не особо понимаю, зачем нужен в мультисерверном инсталле, а для тестовой установки на 1 сервак это вообще можно в варс вынести
Egor
это как минимум на вскидку\
Egor
+ это всё, по хорошему, обвязать прверками, что всё точно создалось, точно работает и т.д.
Timur
Могу сделать форк и дать вам доступ на запись в репу :)
Timur
И помочь с прикручиванием тестов
Timur
Если кто-то ещё из чата заинтересован - им тоже могу помочь с доступом
Egor
Могу сделать форк и дать вам доступ на запись в репу :)
я же говорю, позже, сейчас у меня вполне конкретный пул задач, и его надло доделать до конца года, а дальше у меня в планах модули для кейклоака (на питоне есть библиотечка, её в модуль надо обернуть) и для jboss fuse (та же ситуация + мелкие доработки) ибо там костылей пока больше
Timur
Это я к чему... Не нужно забывать контрибьютать в опенсорс
Timur
Нужно делиться своими наработками. А не только тащить оттуда то, что может быть вам полезно
Egor
просто большинство того, что я делаю, либо стыдно показывать, либо узкоспецифично
Timur
да кто против то?
Кто-то ссылается на нехватку времени на контрибьют. И при этом жалуется на недостаток хороших ролей :)
Egor
ну контрибьют это не просто "сделал и забыл"
Egor
код для себя я могу недоделать, к примеру, не обвязав нормально тестами, ибо в моей конкретной схеме он будет работать
Timur
Выступая - критикуй Критикуя - предлагай Предлагая - выполняй Выполняя - отвечай
Egor
но полноценно готовить роль/модуль - нечто более сложное
Egor
а потом это ещё и поддерживать надо
Timur
Другое дело, если роль эта никому не нужна кроме вас
Egor
и тут упираемся в вопрос специфичности ПО, если её уже нет (спустя столько лет), значит кроме меня и пары наркоманов она и не нужна :-)
Egor
либо нужна, но они - такие же ленивые жопы, как я
Egor
и накостыляли себе что-то и этого достаточно
Timur
Нужно ломать в себе такие наклонности
Timur
Когда каждый костыляет свой велосипед - в итоге и получается, что все пользуются недопиленным кривым инструментом
Egor
капитан очевидность
Egor
но я считаю, что выкладывать костылеговно - тоже не дело
Egor
код должен быть документирован, оттестирован и читаем, как минимум на момент выкладки