Denis
Добрый день, можно ли хранить пассворды в hosts файле в защифрованном виде?
Pavel
Добрый день, можно ли хранить пассворды в hosts файле в защифрованном виде?
я делаю так: вся информация о хосте в host_vars и group_vars (и они там зашифрованы vault-ом) в host только ссылки на наих (имена групп и хостов)
Pavel
если еще есть вопросы - могу в личке подробнее объяснить, с примерами
Denis
ок спасибо
matt
не комильфо, лучше в group_vars, или прямо плейбуке через !vault | (тоже не оч)
Pavel
ок спасибо
вот так у меня выглядят hosts файлы: [new] [tomcat] HETZNER_vPool16_CX20_1 HETZNER_vPool16_CX20_2 [web] HETZNER_vPool16_CX20_1 HETZNER_vPool16_CX20_3 [mirrors] HETZNER_vPool16_CX20_4 [test] localhost
Denis
попробовал зашифровать: python -c 'import crypt,getpass; print(crypt.crypt(getpass.getpass(), crypt.mksalt(crypt.METHOD_SHA512)))'
Denis
прошел пароль
Pavel
Меня вполне устраивает
Denis
сейчас попробую)
Pavel
сейчас попробую)
Выше же ссылка на доку
Vladimir
Господа, подскажите пожалуйста, вот есть допустим конфига php-fpm, ну и есть 2 варианта, либо это будет unix сокет, либо ip:port, и я хочу сделать в джнже2, что если допустим в переменно php_fpm_listen есть слово unix, то такие то параметры если нет то другие, как это правильнее сделать ? {% if "unix" in php_fpm_listen} ? Как то так ?
Vladimir
Или есть варианты лучше ?
manefesto
Норм
Vladimir
Ну т.е. такой способ нормальный и юзабельный ? Я просто думаю можно править инлайн модулем еще
Vladimir
Но там наверное с условиями будет хуже
Navern
Джинджа лучше
Vladimir
Понял, спасибо
Denis
кто каким редактором пользуется?
G3rhard
sublime + vs code
Dmitry
вим+yamllint
Aleksey
sublime + vs code
в vs code подсказка есть ?
Aleksey
а по переменным ?
Nklya
VS Code
Aleksey
а по переменным из другого файла ?
Denis
пробую Atom + language-ansible
Aleksey
атом не очень.
Vladimir
Для анзибла - IDEA. Но только потому, что у меня идея уже купленная. А так-то для ямла сгодится и VS Code, и Sublime.
Aleksey
она нифига нормально не подсказывает
Aleksey
даже название модулей и их свойства
Andrey
нет нормальной ansible поддержки нигде толком
Andrey
даже в vim
Andrey
к сожалению
Aleksey
а казалост бы да ?
Aleksey
делов... ямлики распарсить
Womchik
https://atom.io/packages/autocomplete-ansible
Vlad
Для VSCode есть автокомплит в расширении vscoss.vscode-ansible
Bogdan (SirEdvin)
Который везде пихает имена модулей, даже в задачу?
Ievgen
Есть вопрос, может кто натолкнет на мысль, как бы мне хитро отфильтровать list of dicts относительно другого list of dicts, по критерию: когда значение ключа элемента из первого list равно (или не равно) значению аналогичного ключа элемента из второго list (при этом элементы отличаются и только некоторые ключи совпадают, количество элементов в каждом list произвольно)?
Ievgen
звучит немного по наркомански, я знаю, но тем не менее )
Ievgen
отфильтровать надо по значению общего ключа, а вывести list диктов из list1 у которых значение ключа НЕ равно (или равно, что в принципе пофиг) значению релевантного ключа в элемантах второго list
Ievgen
как бы это на примере
Ievgen
минуту я пример сконструирую, чтобы предметно можно было говорить
Ievgen
list1: - key1: "value" key2: "other_value" key3: "some_other" key4: "something" - key1: "value" key2: "other_value" key3: "some_other" key4: "something" - key1: "value" key2: "other_value" key3: "some_other" key4: "something" - key1: "value" key2: "other_value" key3: "some_other" key4: "something" - key1: "value" key2: "other_value" key3: "some_other" key4: "something" list2: - key1: "value1" key2: "other_value1" - key1: "value" key2: "other_value"
Ievgen
есть два list
Nklya
Прям как "есть два стула"))
Ievgen
надо из первого list вывести все элементы у которых комбинация key1.value и key2.value НЕ равны аналогичной комбинации из list2
Ievgen
вот такая хрень
Ievgen
)
Ievgen
при этом я могу с этими листами делать что угодно, но на выходе мне надо получить структуру аналогичную структуре исходного list1 с сохранением всех значений
Ievgen
кажется я нашел, всем спасибо )
Ievgen
короче если более красивого варианта нет - with_nested и when решает вопрос
Ievgen
на больших количествах конечно можно офигеть от скипов, но это не тот случай...
Bogdan (SirEdvin)
Кастомный фильтр?
Ievgen
нет все в рамках
Ievgen
- set_fact: list1: "{{ list1|difference([item[0]]) }}" with_nested: - "{{ list1 }}" - "{{ list2 }}" when: (item[0].key1 + item[0].key2)|checksum == (item[1].key1 + item[1].key2)|checksum
Ievgen
на выходе получаем отфильтрованный лист
Ievgen
или ты хотел предложить кастомный фильтр?
Bogdan (SirEdvin)
Ага)
Ievgen
да можно и так если запарят скипы так и будет
Womchik
хм. TDD для плейбуков только на руби?
Nklya
Molecule + testinfra - питончик
Womchik
сенкс. а то всё serverspec вылазил
Nklya
Из молекулы 2 версии серверспек выкинули нафиг
Nklya
Порекламирую свою роль. Можно посмотреть пример второй молекулы в докере и куче окружений. https://github.com/cndies/ansible-role-gotty
Nklya
Но тестинфра честно говоря грустное зрелище имхо
Nklya
Чёт я сомневаюсь что pytest умеет тестировать инфраструктуру. Молекула поддерживает только тестинфру и госс
Nklya
А грустная тестинфра в том плане что оттуда отовсюду торчат костыли. Например есть возможность проверить ей слушает ли приложение какой-то порт. Как она это делает. Запускает netstat и грепает нужное. В питоне))
Unsupported
Nklya
Жирчик https://github.com/philpep/testinfra/blob/d584b7d3b7eeb73534030531d0ffbfebbddfe801/testinfra/modules/socket.py#L203
Alexander
Ваааау
Vladimir
Господа, а можете рассказать концепцию {% block name %} в темплейтах для ансибла ?
Vladimir
https://github.com/geerlingguy/ansible-role-nginx/blob/master/templates/nginx.conf.j2