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
Timur
Вам известно имя и путь к файлу с ключом или нет?
Anonymous
Мысль в том что у разных людей ключи могут назваться как угодно и это естественно и нормально.
Vladislav 👻
Anonymous
Не нормально, что путь до ключа это харкод
Oleksandr
Anonymous
Брать с ssh-add -L
Vladislav 👻
а где гарантия, что оно там есть?
Vladislav 👻
а как это соблюдает IaC?
Anonymous
Oleksandr
и как оно там появится?
Oleksandr
в общем переливаем воду. набросил нормально ден.ворк
Anonymous
В плане где. Где запускаться ансибл
Anonymous
Выше вполне нормально задан вопрос и что ожидается
Anonymous
Точно ключи искать по конкретному пути - это точно какой то костыль
Timur
Anonymous
задача развернуть и настроить где то приложение, во время развертывание создается локальный пользователь под которым вертиться прилога, котому добавляется ключ админа/разраба, кто запустил плейбук. Чтобы после окончанитя настройки он могу сделать ssh remoteuser@server.example.com и спокойно войти по ключу и отлаживать то, что ему нужно
Anonymous
с LDAP УЗ все просто и понятно, но задача конкретно по локальной УЗ. Из видимых проблем - что у разрабов/админов ключи могут иметь разные названия - потому и привязываться к конкретному имени ключа - не очень идея
Mentat
Timur
Anonymous
создается ДРУГОЙ - локальный УЗ в которую и нужно добавить ключ
Timur
Anonymous
это нормальная практика добавлять публичный ключ в локальные УЗ
Anonymous
так что не оч понятно - что вызывает недопонимания
Anonymous
зачем ему генерировать еще один если он уже есть ?
Anonymous
что на каждую прилогу по ключу чтоли генерить
simplemice.eth
название чата прочитайте пожалуйста и правила в пине
Anonymous
@IlyaHoochie будет жить. Поприветствуем!
Anonymous
@VitProkin будет жить. Поприветствуем!
John
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
Ivan
Anonymous
Anonymous
@schr00t будет жить. Поприветствуем!
Anonymous
а чей приоритет выше group_vars или envirements/staging/group_vars ?
Timur
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
Timur
Artem
Всем привет, подскажите как можно проверить существование директории? Что-нибудь на подобии 'stat' может есть. Просто 'stat' только с файлами работает.
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
вот так не работает((
Ilya
да, выразился не так)
Sergey
Но работать всё равно не будет, т.к. ты создаёшь циклическую ссылку.
Ilya
оке, понятно, значит выносить из словря
Sergey
Alex
в set_fact тоже такое не будет работать
- set_fact:
var1: val1
var2: "val2-{{ var1 }}"
Anonymous
возможно поможет items2dict
Отделение Bereke Bank
подскажите можно ли сделать следующее
засунуть в конфиг (template) строку в которой указаны все IP-адреса серверов определенной группы, кроме текущего (на котором выполняется таск). Все засунуть могу, а вот все, кроме текущего - не знаю возможно ли это без костылей
Tamerlan
Отделение Bereke Bank
consul и его retry_join
Tamerlan
if ansible_hostname == ansible_hostname не работает?
Sergey
NS 🇷🇺
Отделение Bereke Bank
#странное
- name: Set consul_retry_join variable
set_fact:
consul_retry_join: "{{ groups['consul_cluster'] | reject('equalto', ansible_nodename) | list }}"
так сработает? и потом эту переменную юзать в template
Sergey
Отделение Bereke Bank