Timur
в моем примере указан файл переменных в которых и описано то что вы предлагаете записать в group_vars
В вашем примере у вас роль пытается обрабатывать параметры инвентаря и определять членство хоста в конкретной группе
Timur
Что вообще ересь в данном случае
Timur
Членство хоста в группе важно лишь на этапе запуска для применения правильных group_vars к конкретному хосту. Роли членство хоста должно быть абсолютно параллельно
Timur
Вот, на мой взгляд, более вменяемая роль для таких целей: https://github.com/AsavarTzeth/ansible-role-users
Oleksandr
я за эксклюзив
Timur
не выставляется в настройках exclusive для ssh-ключей
Для этого лучше отдельные роли юзать
Timur
Например, как здесь: https://github.com/Oefenweb
Oleksandr
Для этого лучше отдельные роли юзать
тут момент в том, что нарушено правило идемпотентности
Timur
Роль для юзеров и групп: https://github.com/Oefenweb/ansible-user Роль для ssh-ключей: https://github.com/Oefenweb/ansible-ssh-keys Роль для настроек sudo: https://github.com/Oefenweb/ansible-sudoers
Oleksandr
та же проблема с ключами
Timur
Опишите ее конкретнее
Oleksandr
все просто, если не задать exclusive: yes то пользователь может напихать свои ключи
Timur
Куда напихать?
Oleksandr
а админ не сможет гарантировать соответствие ансибла и состояния хостов по ключам
Oleksandr
в authorized_keys
Oleksandr
куда ж еще
Oleksandr
с помощью такой роли не сможешь гарантировать смену ключей
Oleksandr
итераций надо больше, просто из-за отсутствия 1 опции
Timur
с помощью такой роли не сможешь гарантировать смену ключей
Ну, добавить один параметр в таск несложно
Timur
Опять же, то, что юзер может напихать свои ключи - это нестрашно
Oleksandr
конечно. может быть с точки зрения безопасности вообще надо подсказать автору
Timur
Это как смена пароля, доступная любому юзеру
Oleksandr
Это как смена пароля, доступная любому юзеру
немного не так. пароль может быть 1, а вот ключей несколько
Timur
немного не так. пароль может быть 1, а вот ключей несколько
Ну и что? Все они все равно будут одному юзеру принадлежать
Timur
Какой в этом криминал - сложно понять
Timur
Это никаких дополнительных прав юзеру не дает
Oleksandr
могу еще раз повторить - нарушено правило идемпотентнсти
Oleksandr
состояние ключей може не соответствовать сценарию
Oleksandr
нет гарантии соответствия
Timur
Сценарий как раз и нужен для того, чтобы привести состояние к нужному
Timur
И не менять его при повторном прогоне
Oleksandr
при том что роль не возвращает в начальное состояние при повторной отработке в случае добавления руками ключей, только если не удалять и не добавлять пользвателя с чисткой хомяка
Oleksandr
кейс простой: разработчик засветил приватный ключ и есть необходимость сменить его ключи в инфраструктуре. если разработчик молодец, то все пройдет гладко. ели добавлял руками еще ключи то роль выше не гарантирует смены ключей
Oleksandr
Кейс этот решается так: конкретный ключ = absent.
я не писал про конкретный ключ. я писал про ключи разработчика
Sergey
я не писал про конкретный ключ. я писал про ключи разработчика
ОК, все его ключи = absent. А если руками чего положил - ССЗБ.
Oleksandr
и да - я как все. тут так любят делать
Timur
Сурово, канеш. Exclusive всё-таки менее болзненно.
Ну, я же сказал - добавляется один параметр в таск
Oleksandr
Сурово, канеш. Exclusive всё-таки менее болзненно.
угу. а роли рекомендуются. а риски внутри есть
Timur
И от засветки ключа это никак не спасает
Oleksandr
выше кейс привел
Oleksandr
норм кейс
Oleksandr
жизненный
Timur
Если ключ засвечен, то не факт, что один
Oleksandr
на второй круг побежали. не интересно )
Timur
Ну, короче, там в репах issue tracker есть, welcome поднять feature request, если нужно
Timur
Или даже pull request, если сами сделать можете
Oleksandr
угу. надо не лениться, согласен
Timur
А так, что роль - гавно, каждый сказать может :) И не только про роль
Timur
тачскрин - дерьмо, ибо не позволяет человеку вслепую, в темноте, с завязанными руками, отрезанными ушами и вырванным языком отвечать на sms. (c)
Oleksandr
А так, что роль - гавно, каждый сказать может :) И не только про роль
про это не было сказано. я указал на возможный риск. не более
Oleksandr
автомотив собак съел уже столько и с кнопками и с сенсорами, а серебрянной пули как не было так и нет
Timur
тема интерфейсов - отдельная тема
Это так, пример "конкретного кейса" просто :)
Oleksandr
да зачем конкретного кейса - тачскрин дерьмо при минусовых температурах и если ты за рулем в рукавицах
Oleksandr
жесты еще)
Timur
Ну да :)
Timur
Поэтому завязанные руки и отрезанный язык :)
greydjin
Вот, на мой взгляд, более вменяемая роль для таких целей: https://github.com/AsavarTzeth/ansible-role-users
В этой роли переменные, типа списка юзеров, их ключи, хранятся в плейбуке (в примерах у него так), в этом есть смысл какой-то или все таки нужно переменные со списком юзеров вынести в group_vars/all или group_vars/group ?
Timur
В этой роли переменные, типа списка юзеров, их ключи, хранятся в плейбуке (в примерах у него так), в этом есть смысл какой-то или все таки нужно переменные со списком юзеров вынести в group_vars/all или group_vars/group ?
Параметры роли могут быть указаны где угодно. В простейшем случае - в плейбуке, как в примере. В более универсальном для многих хостов - в group_vars
greydjin
А параметры будут перезаписывать друг друга или дополнять в случае если список пользователей указан в group_vars/all а затем еще в group_vars/group - и списки пользователей разные? Должен быть порядок в котором обрабатываются переменные, где бы почитать. Пойду искать
Timur
И само утверждение не совсем правильное. Переменные роли не хранятся в плейбуке. Они просто там задаются
Womchik
ppl, возможно ли, чтобы при display_ok_hosts = False debug таки выдавал текст? failed_when: True ?
Womchik
и ещё вопрос: в group_vars какой приоретет у переменных?
Алексей
Переменные групп желательно все-таки делать так, чтобы они не перекрывались
есть порядок применения переменных, нужно его учитывать
Алексей
всем привет
Алексей
и ещё вопрос: в group_vars какой приоретет у переменных?
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
Womchik
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
мержатся в алфавитном порядке? спасибо. дочитал примечания