Timur
нжинкс например https://github.com/jdauphant/ansible-role-nginx
Фу, бяка. Строчный синтаксис, сплошные when в каждом таске, лишняя логика в роли и т.п.
Timur
Скорее, пример - как не нужно писать роль
Nklya
Ну конечно, только ваши роли самые правильные
Timur
Ну конечно, только ваши роли самые правильные
Не только. Но тут я конкретно указал - что плохо
Nklya
Мне они тоже не нравятся есличо
Timur
Мне они тоже не нравятся есличо
Что именно не нравится?
Nklya
Опечатка. Мне ваши роли тоже не нравятся
Nklya
Если точнее, то вот например заходим в роль явы, а тут пиздец https://github.com/lean-delivery/ansible-role-java/tree/master/tasks
Nklya
много файлов, какие-то вложенные папки, три политики именования
Nklya
Что у вас прикольного - это попытка сделать ansible development kit и сборник рулов для линтера
Timur
много файлов, какие-то вложенные папки, три политики именования
Много файлов - следствие того, что роль поддерживает очень много сценариев развертывания и источники
George
Парни
George
Написать роль - просто
George
Написать хорошую роль - тяжело
Timur
Если у вас есть предложения как сделать то же самое меньшим количеством кода и более красиво - welcome
George
Написать роль, которая будет нормально поддерживать все версии приложения - невозможно
Timur
Вот эта самая роль java поддерживает установку самых разных версий - от 6 java до последней 11-й
George
Ну, скажем, у тебя роль для установки nginx. И поддерживает все версии от 1.10 до текущей. Так вот. Синтаксис конфигов менялся с каждой версией
Timur
Со всеми изменениями путей, версий и т.п.
George
Со всеми изменениями путей, версий и т.п.
Ну, скажи. А если я попробую 6-й джава передать параметр, который только в 11 появился. Роль зафейлится?
George
Или конфиг будет сгенерирован и у меня сервис не стартанет ?
George
Ты в общем расскажи
Timur
Там из параметров в основном версии самой java и ссылки на источники, откуда ее брать
Timur
Если они корректные, то артифакты скачаются и установятся
George
Не важно java/не-java, nginx/не-nginx. Вы валидируете соответствие параметров и версии устанавливаемого по?
Timur
Если нет - будет фейл еще на попытке достучаться до артифактов
Nklya
Не вижу вообще смысла поддерживать все что угодно в рамках одной роли
Vladislav 👻
У него часто откровенный треш в ролях. Башсибл, строчный синтаксис, лишние сравнения, присваивание дефолтных переменных в коде и т.п.
я тоже не мог этого понять, а потом понял, что роли написаны для старых версий и часто не актуализируются
Vladislav 👻
именно поэтому основу беру у него, а потом переписываю
Nklya
Например в шефе просто тегируют кукбуки, например v2.x поддерживает установку 5 эластика, v3.x - 6
Timur
Это другое
Опции перечислены в ридми. Есть дефолтные параметры. Роль можно поставить и с ними - вообще без опций
Timur
Если же меняете какие-то дефолтные параметры - подразумевается, что вы знаете, что делаете
George
Посмотри роль прометеуса. Там все параметры нужно задать переменными
George
Не понял?
Роль мне не нужна, чтобы поставить софт Она нужна, чтобы софт установить + настроить
George
И зачастую там настройки чуточку сложнее, чем дефолт
Timur
Роль мне не нужна, чтобы поставить софт Она нужна, чтобы софт установить + настроить
Давайте конкретнее. Каких параметров вам не хватает в той роли oracle-java?
George
Я не про оракл джава, ещё раз
Timur
Разговор начался с нее
George
Пример неудачный, т.к. оракл джава обычно используют 'как есть'
Timur
Если точнее, то вот например заходим в роль явы, а тут пиздец https://github.com/lean-delivery/ansible-role-java/tree/master/tasks
Timur
В чем пиздец и что можно сделать лучше - так и осталось неизвестным, к сожалению
Timur
Человек зашел, увидел много файлов и решил, что пиздец. :) Многабукаф патамушта
Nklya
В чем пиздец и что можно сделать лучше - так и осталось неизвестным, к сожалению
Я тебе сказал, хотя бы в одном стиле сделайте, там щас видно что его человека 3 пилило с разными понятиями о прекрасном
George
😂👍
Timur
Где видно разные стили?
Nklya
Ща позову дизайнера, он нарисует стрелочки
Timur
Ща позову дизайнера, он нарисует стрелочки
Не надо стрелочки. Можешь описать конкретно - что не так со стилем по-твоему?
Timur
Конструктивная критика - это всегда хорошо
Timur
Только это не на уровне "у вас пиздец, потому что я роль не осилил"
Nklya
1. Linux, Windows - с большой буквы, остальное - с маленькой. Аналогично с ямлами. 2. В одних случаях слова разделяются через тире, в других - "_" 3. В одних случаях второе слово с большой буквы, в других - с маленькой
Timur
Т.е. ты даже не понял, почему Linux и Windows в названиях некоторых файлов - с большой буквы? 😏
Nklya
Я тебе блять сказал что не так со стилем
Nklya
А не про то, что я не понял
Nklya
И это все создает ощущение бардака в роли
Timur
Я тебе блять сказал что не так со стилем
Че нервничаешь-то так? :) Еще раз. Linux, Windows, Win32NT - там везде с большой буквы. Ты думаешь, это просто потому, что мы ставили какие попало буквы?
George
Нет там проблем со стилем
George
Да, по названиям платформ там все как раз ясно
George
Предполагаю, что оппонент хочет, чтобы все было в lowercase
Nklya
Другой оппонент изначально завязял весь тред с теребления своего тщеславия
Timur
Предполагаю, что оппонент хочет, чтобы все было в lowercase
Проблема в том, что это все опирается на ansible факты. И так получилось, что названия платформ (а также ряд других фактов) ансибл выдает с большой буквы. Принудительно приводить все факты к lowercase, конечно, можно, но это ухудшает читаемость кода лишними фильтрами.
Nklya
"Какой я молодец, какие охуительные у меня роли"
Timur
"Какой я молодец, какие охуительные у меня роли"
У вас странные представления об окружающих
Nklya
ок, оставим первый пункт про регистры, а по остальным то что?
Timur
И да, про свои (точнее - наши) роли я ничего не говорил. Это кто-то сам набрасывать начал, утверждая, что в наших ролях пиздец
Nklya
Я про это t.me/pro_ansible/76360
Timur
ок, оставим первый пункт про регистры, а по остальным то что?
По остальным там то же самое. Большие буквы - это напрямую значения фактов из ансибл. Вы в код роли дальше названий файлов смотрели вообще?
Nklya
ок, whatever.
Timur
Я про это t.me/pro_ansible/76360
Ну и? Я действительно спросил про популярные роли. Интересно - кто чем пользуется.