Sergey
17.05.2018
16:05:44
тогда внутри ансибла это действительно превращается в unicode, и всё в ажуре
главное - не заниматься фигнёй с минусами вот, скобками, вот этим вот всем
ad1
17.05.2018
16:17:23
Жёсткий антипатерн. Выполнить скрипт на удаленном хосте используя shell: ssh host script.sh. как при этом форварднуть агент на удаленный хост?
Vadim
17.05.2018
16:20:05
Google
ad1
17.05.2018
16:21:07
Угу понял спс
Asten
17.05.2018
16:54:29
В продолжение треда про vault, я вот с коллегами уже изрядно постучался с ним
Как только найду время буду ковырять vault от hashicorp
*помучался
Самое жестокое это мерж)
bebebe
17.05.2018
17:10:08
Asten
17.05.2018
17:11:21
Расскажите о нем, есть опыт?
Пока нет, только доку мельком читал, но vault от ансибла точно не лучшее решение для более менее больших проектов
bebebe
17.05.2018
17:12:33
Asten
17.05.2018
17:13:07
bebebe
17.05.2018
17:13:15
Да
Asten
17.05.2018
17:14:51
Ну смотрите, когда в ансибл репозиторий пушит много людей а мержить имеют право не все возникают конфликты
Я про зашифрованные полностью файлы
Частично удалось решить проблему 2 вещами:
Google
Asten
17.05.2018
17:16:21
1) секреты для сервисов (то что не нужно людям) шифруются в vars как encrypted string
2) если нужно в зашифрованный файл что-то положить это пугает отдельным pr и тут же пинают тех кто может мержить
Не очень впечатляет длинна путей до секретов когда у тебя несколько окружений
Тоесть сейчас это /inventory/имя_окружения/group_vars/all/secrets.yml
bebebe
17.05.2018
17:20:12
Хм. Я понял о чем вы говорите и не думаю что это большая проблема чтобы смотреть в другую сторону
Asten
17.05.2018
17:20:31
Ну и последнее: по невнимательности теряли секреты на мержах
Ну говорю, я сейчас не дёшево решил
Но на будущее хочу на hashicorp всё-таки посмотреть
Кстати норм тема для статьи на хабру...
Сравнение vault
A
17.05.2018
17:22:18
bebebe
17.05.2018
17:23:39
Сравнение vault
Я не до конца понимаю вашу боль по поводу мержей, видимо нужно смотреть на конкретные примеры
Asten
17.05.2018
17:23:47
A
17.05.2018
17:24:34
а. я думал совсем теряли, и мне даже интересно стало как в гите можно всё потерять
bebebe
17.05.2018
17:24:52
Asten
17.05.2018
17:25:22
cent
17.05.2018
18:31:48
Тоесть сейчас это /inventory/имя_окружения/group_vars/all/secrets.yml
Ну, лично я писал Makefile, который генерил секрет из .env и из файликов в ~/.secrets_folder.
Ну, или можно local плейбук накатать, который соберет секрет и потом еще дернет шифрование.
А сам процесс добавление чего-то в секрет - это собственно добавление в шаблон секрета.
Если используется общий сквозной секрет - то это уже извращеный подход.
Но даже проблема с общим сквозным секретом решается генерацией.
Ровно так же как lock файлы в пакетных манагерах.
Кому как удобнее...
Не понимаю в чем боль с мержем?
Если один кто-то имеет право мержить, то все пилят просто в свои ветки свои секреты, а он уже потом смержит.
Еще как альтернативу генерации могу предложить делать секреты как миграции (т.е. складировать тучу разных версий по таймстемпу).
Ну и в плейбуке явно все это инклудить по glob или что-то вроде того, но это тоже какой-то изврат
Asten
17.05.2018
18:36:59
cent
17.05.2018
18:37:36
Asten
17.05.2018
18:39:34
Эм как?) У нас 2 ветки и мастер. Тоесть мы применили из 1 ветки последний, потом из 2 последний и потеряли из 1 ветки
Google
Sergey
17.05.2018
18:43:12
cent
17.05.2018
18:44:03
Asten
17.05.2018
18:45:14
cent
17.05.2018
18:46:31
Sergey
17.05.2018
18:47:08
Asten
17.05.2018
18:48:10
Sergey
17.05.2018
18:48:36
Asten
17.05.2018
18:48:37
Sergey
17.05.2018
18:49:45
а кто будет выполнять действия за эту роль - это уж как в бизнес-процессах конкретной организации заведено.
Asten
17.05.2018
18:50:34
cent
17.05.2018
18:52:06
У каждого сервиса разные, но есть и совместные
Ну, каждый кидает креды в свой файлик
secrets/
—all.yml
—vasya.yml
—petya.yml
Каждый пропишет себе в .env
DEPLOY_ENV=vasya
И дергать плейбук с нужным env
env $(cat .env|xargs) ansible-playbook ...
И уже в самом плейбуке подключать по переменной lookup('env', 'DEPLOY_ENV')
Так можно разграничить частные секреты.
А общими пусть Ваш мерж-суперадмин управялет.
Sergey
17.05.2018
18:54:02
Может пример кода есть? Я быстрее пойму
есть.
но как-то тупо креды, хоть и волтом закрыте, в чат сливать, не?
—-
serv1: [ 'login': 'login', 'password': 'pass']
и в файле такого вида перечисляешь все креды окружения, потом его волтишь.
далее в роли ссылаешься на результат уже этого файла:
{{ serv1['login'] }} ..... {{ serv1[''password'] }}
Вторую подстановку разработчик может хоть себе на лоб написать - ничего не изменится. Она сработает только при запуске плейбука с корректно раскрытым волтом.
Asten
17.05.2018
18:54:16
cent
17.05.2018
18:54:54
Sergey
17.05.2018
18:55:12
Asten
17.05.2018
18:55:27
Парни стоп
У меня уже это все сделано
Google
Asten
17.05.2018
18:55:46
И лежат там креды
И env прописывать не надо
Sergey
17.05.2018
19:00:36
cent
17.05.2018
19:01:00
Частные секреты это для конкретного сервиса?
Блин, ну Ты жжешь)) Честно.
Смотри.
Общие секреты - клепает чувак, который у Вас там мержами заведует. Как он это делает - вообще его трудности.
В идеале, они должны по крону опрашивать hashicorp vault или другую какую-то хрень и перегенериваться. Ну или по колбеку.
И не нужно садить на это человека. (ротация кредов - то, о чем Тебе сказали выше)
Частные секреты - если у каждого свой пароль от ажура, авс и прочих облаков и нужно чтобы тела ходили только под своими кредами. И самый простой способ - это напилить переменную окружения по которой подключать нужный секрет определенного чувака.
И конечно же, каждый должен дергать плейбуки под своей переменной
Asten
17.05.2018
19:02:58
Admin
Asten
17.05.2018
19:04:38
И проблема это моя с мержем, я их и мержу потом...
cent
17.05.2018
19:05:07
Sergey
17.05.2018
19:05:13
Asten
17.05.2018
19:06:05
Удобств не добавляет
cent
17.05.2018
19:06:25
Удобств не добавляет
Тебе уже предложили варианты.
За 2 часа по 15$/час могу решить Вашу проблему с мержами.
Asten
17.05.2018
19:11:45
Чот я вас не понял всеравно. Если использовать hashicorp для кредов то на кой хрен их перегенеривать в ансибловый?
Sergey
17.05.2018
19:12:07
Asten
17.05.2018
19:14:16
bebebe
17.05.2018
19:37:58
От того что вы написали меня в дрожь бросает начиная с makefile
Google
bebebe
17.05.2018
20:01:15
Как бы занудно это не звучало, но стремление к организации "правильных" процессов ограждает от ряда проблем и оригинальных костылей
Konstantin
17.05.2018
20:01:31
работает с esxi без центра?
Алексей
17.05.2018
20:02:13
Не проверял
Konstantin
17.05.2018
20:02:41
"template: ", в esxi такого нет
Алексей
17.05.2018
20:03:23
Да я ради темплейта всё и делал
Konstantin
17.05.2018
20:04:04
только из-за этого пришлось свалить с esxi на стенде( , неудобно автоматизировать развертывание
Алексей
17.05.2018
20:05:56
Ну мне и тот и другой нужен
У меня нет ssh на всферу. А пакеру нужен именно он
Konstantin
17.05.2018
20:07:05
у меня и сферы нет)
Алексей
17.05.2018
20:08:12
Страдай чо
Konstantin
17.05.2018
20:08:54
Страдай чо
Да ну, сменил гипервизор, ансиблю что хочу)
Антон
17.05.2018
20:14:13
Konstantin
17.05.2018
20:15:06
Антон
17.05.2018
20:28:46
Hyperv ?
Виндовс... неожиданно, я думал kvm будет)
Hyperv ?
И как? Какие тонкости/нюансы? Подводные камни?
Konstantin
17.05.2018
20:30:21
Вагрант+ансибл+hyperv - хватает
Антон
17.05.2018
20:39:29