в идеале это бы выглядело как переопределение hosts для конкретной таски в роли
Dima
Dima
- synchronize: src={{ item.src }} dest={{ item.dest }}
delegate_to: "{{ ansible_host }}"
with_items:
- { src: '/fld/from/1/', dest: '/fld/to/1/' }
спасибо, попробую
еще такой вопрос: есть конструкция вида L_HOST: "{{ hostvars[groups [ (L_GROUP | default ('lgroup')) ][0]].ansible_default_ipv4.address }}" , в одной роли отрабатывает без вопросов, в другой ошибка , что ансибл не находит атрибута 'ansible_default_ipv4' у соотв. конструкции. lsb вроде стоит как надо. чего может не хватать в роли?
Alf 🙀
нормального способа проверить ассайнена ли роль изнутри темплейта, нет да? нужно рендерить два темплейта и оборачивать их when так выходит?
Alf 🙀
есть роль в плэйбуке которая призвана выполняться на all в роли есть темплейт, в темплейт хотелось добавить условие в стиле
{%- if 'nginx' in ansible_roles %}
bla-bla-bla
{%- endif %}
Pavel
http://docs.ansible.com/ansible/ec2_group_module.html ктонить знает, добавление правил аддитивное или заменяются все правила сразу на указанные в таске?
Sergey
Pavel
Моя цель прописать мой IP один
Sergey
Pavel
Не, это называется демократичная команда ;)
Sergey
Не, это называется демократичная команда ;)
Не согласен. Демократичная команда - каждый может коммитить в репу с шаблоном правил для Ансибла, и каждый имеет право запустить этот самый Ансибл. А то, что ты описал - когда куча народу рандомно что-то фигачит на окружении с криками "ух ты, работает!" - это бардак.
Dima
это просто решается, закрытием ветки master и автодобавлением всех инжеров в новый PR. а иначе не демократия. добавление только главного инженера и архитектора - протократия. добавление гендиректора - абсолютная монархия. а пушить в master без PR - сплошная анархия. если заговорили про IaC... )
Dima
если же только руководитель смотрит PR на merge - то это авторитаризм (или диктатура)
Pavel
Igor
Коллеги, а что модуль ansible git не умеет обновлять dest, если каталог в dest не пустой?
update: yes, force: yes включены
O
Igor только что проверил - все умеет - каталог не пустой
Igor
O
секунду
O
- name: git update src code
local_action: git repo='{{ src_repo }}' dest='{{ src_dir }}' version='{{ src_branch }}' recursive=yes update=yes force=yes
Igor
O
ansible —version
ansible 2.2.1.0
O
до 2.3 -> пока не обновляюсь
Albert
Igor
минутку
Igor
а, мне опции recursive не хватало, спасибо )
O
вообще то resursive - не связана с обновлением dest ) submodule же. Но хорошо что получилось ;)
Bogdan (SirEdvin)
Как я понимаю, нормально альтернативы для hasicop vault для ansible нет?
O
@SirEdvin ? что имеется в виду ? чем ansible vault не устроил ?
O
чем он может не понравиться ? для базовых вещей типа сертификаты и бла бла бла ... очень даже... другое дело не надо это все в публичных репах держать
O
с хашикорповским продуктом - немного все по другому, там целое флоу лепить надо чтобы правильно работать с sensitive data
Pavel
насколько я понял, в ваулте для разных юзеров можно и разные "ваулты" делать с разными ключами (паролями)
вот и будет тебе разделение
Pavel
вот только для "суперюзера" для доступа ко всему, не знаю получится ли указать несколько ключей ((
Alf 🙀
Pavel
я с разделением пока не столкнулся... у нас 1 комадна, с одинаковыми правами, но я думаю можно исхитриться и с разделением
Alf 🙀
Pavel
не на "свой" файл не знаешь пароль - не получишь к нему доступ
Pavel
ясно.
немного костыльно, как по мне, но варик должен быть из коробки и рабочий
Alf 🙀
Alf 🙀
один идиот написал переменную в один файл, второй такую же переменную написал в другой файл, каждый зашифровал, допустим дженкинс знает супер пароль и расшифровал это удовольствие, что ансиблу деплоить? какую из переменных?
Alf 🙀
Pavel
Pavel
Alf 🙀
ну тут уж, извините, от "идиотов" спасения нет
ну а как работать, если ты не видишь что эта переменная уже используется, это с одной стороны, ну и будешь dry run делать у тебя ансибл элементарно ругнется что не может расшифровать файл твоего коллеги потому что ключ у него не тот
Alf 🙀
Alf 🙀
Alf 🙀
Alf 🙀
вы спрашиваете кто запускает плейбук. плейбук, теоретически, должен быть способен запустить каждый кто имеет доступ до репы и может клонировать его себе локально
Dima
Alf 🙀
вопрос про ну не локально же вы это делаете, подразумевает, что не локально же вы запускаете выкатку изменения конфигурации из
Alf 🙀
Dima
vault традиционно используют чтобы шифровать доступы которые непубличны.
Dima
если все пользуются одними доступами - то какие проблемы?
Alf 🙀
Alf 🙀
Dima
не совсем понимаю, как на пустом месте появилась проблема
O
проблемы нет, разделяйте если надо - и не разделяйте если юзают все скопом... проблемы вообще нет
Dima
доступами куда?
куда угодно, начиная от того чтобы подставить в конфиг telegram бота токен, и заканчивая тем чтобы подложить ключ для aws.
Alf 🙀
Dima
ну... да. если называть инженеров идиотами, и так к ним относиться, то vault не решит этой проблемы.
Dima
достаточно договориться в каком файле какие переменные, в каком файле то что должно быть зашифровано, и дать всем один пароль. и вопрос решен.
Alf 🙀
Dima
пожалуйста.
Alf 🙀
Dima
изложите плиз тогда, а какую проблему Вы решаете?
Dima
vault - решение как усилить безопасность и не хранить в открытом виде пароли