Artem
разве нет ?
Anonymous
И хардкодить путь до ключа не есть оптимально
Timur
- name: Set authorized key taken from file authorized_key: user: charlie state: present key: "{{ lookup('file', '/mypath/vasya_pupkin.pub') }}"
Anonymous
Это и есть хардкод до ключа
Vladislav 👻
Artem
а, уже скинули -_-
Anonymous
Лучше но где гарантия что у Пети ключи названы pety.pub
Timur
Вам известно имя и путь к файлу с ключом или нет?
Anonymous
Мысль в том что у разных людей ключи могут назваться как угодно и это естественно и нормально.
Oleksandr
Лучше но где гарантия что у Пети ключи названы pety.pub
вяжи иначе, но связку тебе надо будет держать. имя ключа оно такое
Ilia
Лучше но где гарантия что у Пети ключи названы pety.pub
Не совсем понял вопрос. А где гарантия, что то, что вы декларируете правда?
Anonymous
Не нормально, что путь до ключа это харкод
Anonymous
Брать с ssh-add -L
Vladislav 👻
а где гарантия, что оно там есть?
Vladislav 👻
а как это соблюдает IaC?
Anonymous
Вам известно имя и путь к файлу с ключом или нет?
Нет. Так как у разных админов он будет разный
Oleksandr
Брать с ssh-add -L
а где это запустить?
Oleksandr
и как оно там появится?
Oleksandr
в общем переливаем воду. набросил нормально ден.ворк
Anonymous
В плане где. Где запускаться ансибл
Anonymous
Выше вполне нормально задан вопрос и что ожидается
Anonymous
Точно ключи искать по конкретному пути - это точно какой то костыль
Timur
Точно ключи искать по конкретному пути - это точно какой то костыль
Для чего искать ключи? Для подключения самого ансибла?
Anonymous
задача развернуть и настроить где то приложение, во время развертывание создается локальный пользователь под которым вертиться прилога, котому добавляется ключ админа/разраба, кто запустил плейбук. Чтобы после окончанитя настройки он могу сделать ssh remoteuser@server.example.com и спокойно войти по ключу и отлаживать то, что ему нужно
Anonymous
с LDAP УЗ все просто и понятно, но задача конкретно по локальной УЗ. Из видимых проблем - что у разрабов/админов ключи могут иметь разные названия - потому и привязываться к конкретному имени ключа - не очень идея
Mentat
с LDAP УЗ все просто и понятно, но задача конкретно по локальной УЗ. Из видимых проблем - что у разрабов/админов ключи могут иметь разные названия - потому и привязываться к конкретному имени ключа - не очень идея
Пишешь в инструкции по пользованию всем этим - положите свой публичный ключ с именем таким-то в каталог такой-то у себя. И проверяй его наличие - нету - падай
Anonymous
создается ДРУГОЙ - локальный УЗ в которую и нужно добавить ключ
Timur
создается ДРУГОЙ - локальный УЗ в которую и нужно добавить ключ
Если юзер другой, то зачем ему добавлять тот же ключ?
Anonymous
это нормальная практика добавлять публичный ключ в локальные УЗ
Anonymous
так что не оч понятно - что вызывает недопонимания
Ilia
так что не оч понятно - что вызывает недопонимания
Если у вас есть пользователь, который запускает плейбуку и публичный ключ которого надо добавить - ну так сгенерируйте ему публичный ключ на лету и добавьте.
Anonymous
зачем ему генерировать еще один если он уже есть ?
Anonymous
что на каждую прилогу по ключу чтоли генерить
simplemice.eth
название чата прочитайте пожалуйста и правила в пине
Anonymous
@IlyaHoochie будет жить. Поприветствуем!
Anonymous
@VitProkin будет жить. Поприветствуем!
John
а вот c этим что сделать? [DEPRECATION WARNING]: evaluating sshd_allow_reload as a bare variable, this behaviour will go away and you might need to add |bool to the expression in the future по сути ругается на хэндлер - name: Reload the SSH service service: name: "{{ sshd_service }}" state: reloaded when: - sshd_allow_reload - ansible_virtualization_type|default(None) != 'docker' - ansible_connection != 'chroot' listen: reload_sshd
Anonymous
дефисы в именах групп DEPRECATION
Знаю это был пример
Anonymous
@schr00t будет жить. Поприветствуем!
Anonymous
а чей приоритет выше group_vars или envirements/staging/group_vars ?
Timur
Если идет перекрытие переменных из разных групп, они применяются в алфавитном порядке
Timur
Если на хост применяются несколько разных групп, перекрытия переменных в них лучше избегать
Anonymous
ну есть такое firewall: open_ports: - { port: 80, protocol: tcp, source: 0.0.0.0/0} - { port: 443, protocol: tcp, source: 0.0.0.0/0}
Anonymous
тестирвоание показала что group_vars перекрывают настройки envirements/staging/group_vars
Artem
Всем привет, подскажите как можно проверить существование директории? Что-нибудь на подобии 'stat' может есть. Просто 'stat' только с файлами работает.
Iwan
Всем привет, подскажите как можно проверить существование директории? Что-нибудь на подобии 'stat' может есть. Просто 'stat' только с файлами работает.
stat git File: ‘git’ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: fd03h/64771d Inode: 134527 Links: 7 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2019-07-22 23:54:40.248000000 +0500 Modify: 2019-07-19 10:15:29.517000000 +0500 Change: 2019-07-19 10:15:29.517000000 +0500 Birth: -
Iwan
Если ты конечно будешь вызывать команду именно на сервере
Denis
Модуль stat по-моему работает с директориями
Denis
Return Values: isdir - Tells you if the path is a directory
George
с чем угодно
George
стат можно и на файл применить ) и на директорию
Denis
Потому что директория тоже файл)
Artem
заработало, спс )
Ilya
привет! подскажите, как сослаться н другую переменную в словаре?
Ilya
dict: vari1: "secret" vari2: "START {{ dict.vari1 }}”
Ilya
вот так не работает((
Sergey
привет! подскажите, как сослаться н другую переменную в словаре?
Это ты ссылаешься не на "другую переменную", а на ключ в этом же словаре. Так не работает.
Ilya
да, выразился не так)
Sergey
Но работать всё равно не будет, т.к. ты создаёшь циклическую ссылку.
Ilya
оке, понятно, значит выносить из словря
Alex
в set_fact тоже такое не будет работать - set_fact: var1: val1 var2: "val2-{{ var1 }}"
Anonymous
возможно поможет items2dict
Отделение Bereke Bank
подскажите можно ли сделать следующее засунуть в конфиг (template) строку в которой указаны все IP-адреса серверов определенной группы, кроме текущего (на котором выполняется таск). Все засунуть могу, а вот все, кроме текущего - не знаю возможно ли это без костылей
Отделение Bereke Bank
consul и его retry_join
Tamerlan
if ansible_hostname == ansible_hostname не работает?
Отделение Bereke Bank
#странное
- name: Set consul_retry_join variable set_fact: consul_retry_join: "{{ groups['consul_cluster'] | reject('equalto', ansible_nodename) | list }}" так сработает? и потом эту переменную юзать в template
Sergey
- name: Set consul_retry_join variable set_fact: consul_retry_join: "{{ groups['consul_cluster'] | reject('equalto', ansible_nodename) | list }}" так сработает? и потом эту переменную юзать в template
Хм, синтаксис вроде годный вполне. Может сработать - по крайней мере, не заглядывая в доки на фильтр, я тут не вижу каких-то проблем прям особых. Толкьо что 'ansible_nodename' - это custom-переменная?