Boris 🦍
Т.е. что-то типа отдельного ранера с доступом ко всем публичным ключам в hashicorp vault для проверки срока и алертинга? Это как-то громоздко и не очень будет надёжно для такого важного дела
ну если речь про сертификаты полученные из центра сертификаци, то можно просто мониторить из их апи дергая инфу. или получая инфу из whois , например.. если самоподписные, например, то думаю, процедура немного иная, автоматизироавнно, просто их обовлять через некоторый промежуток времени и мониторить уже этот сервис, а волт опять же просто для храненния. Ну или да, как вариант волта данные, ихи анализировать, и мониторить на основании этого. живой ли сертифификат
[IPT] Dmitry
Нет. Речь про любой сертификат внешнего уц, сложенного в секрет
Boris 🦍
может и есть что-то все в одном из коробки, надо гуглить)
[IPT] Dmitry
Ну по мне всё таки два и из коробки. Такое проверять сложно, а ошибка будет довольно фатальна
[IPT] Dmitry
Может что-то уже модней и круче hashicorp vault есть?
Sergey
Безопасно хранить нужно ключ - это да, факт. Но при перевыпуске тебе ключ не требуется, если CSR не потрачен.
[IPT] Dmitry
Безопасно хранить нужно ключ - это да, факт. Но при перевыпуске тебе ключ не требуется, если CSR не потрачен.
Безопасно - это имеется в виду проверенные механизмы доступа к ним. Клиенские сертификаты для авторизации внутри приватных сетей не особо то и нонсенс так хранить. Ну и отчётность доступа к ним тоже хочется иметь. Да, я понимаю, что дохрена хочу
[IPT] Dmitry
Просто hashicorp в целом подходит для этого. Но не умеет проверять то, что хранит 😔
[IPT] Dmitry
А при чем тут ансибл?
Ну я его рассматриваю как инструмент для распространения. Безусловно, это тема не совсем этого чата. Буду рад информации, где ещё стоит спросить
Sebor▂▅▇█▓▒░
Nikolay
Просто hashicorp в целом подходит для этого. Но не умеет проверять то, что хранит 😔
хранение одной тулзой (ansible vault или hashicorp vault), мониторинг жизни сертов другой тулзой. Например подойдёт blackbox exporter для прометея, опрашивает ресурсы по https и умеет получать инфу о дате истечения серта.
Aleksandr
заноси инфу в гугл. календарь как это делают центры сертификации которые присылают файлик для добавления в календарь. Будут у тебя уведомление
Anonymous
Всем доброго дня! Коллеги, есть задача. В роли есть несколько тасков. В результате одного из тасков я получаю строку. Можно эту строку поместить в переменную и использовать в следующих тасках? Подскажите куда копать, пожалуйста
Николай
В сторону register
Anonymous
set_fact
Anonymous
Jack
всем привет, гайз, а есть нормальный способ запроцессить роль для чайлдов хост группы, причем по 1ому хосту из каждой конкретной чаилд группы?
Jack
к примеру, есть верхняя группа родителя и надо сделать ряд действий в роли с 1им хостом каждой чайлд группы этого родителя
Dmytro
Люди добрые не подскажите можно ли loop until retry на fail вывести не в fatal а в другой step. Типа: стартони сервис, пока не получишь статус что он запущен 5 раз с интервалом 5 сек. На фейле зарегай переменную и иди дальше
Dmytro
О точно
Dmytro
Спс
Dmytro
Failed false
Dmytro
Да просто подпираю дурной софт костылями
Dmytro
Там на exit code полагаться нельзя
Dmytro
Приходится все в stdout редиректить и регексом валидировать выхлоп
Jack
Пока не понял, надо подробнее или порисовать, но кажется вопрос в подходе
парент группы нестатична, может меняться наполнением чилдов, в зависимости от энва. Хочу запроцессить определенную логику с 1им! хостом из каждой чаилд группы (на вход имею только парента)
checkdiff
Имена групп на старте не известны? Кажется, что это не best practices, но можно в hosts плейбука указывать переменную {{ }},которую наполнять в group_vars/host_vars. А вот достать группы групп, я не помню, что возможно.
Jack
Имена групп на старте не известны? Кажется, что это не best practices, но можно в hosts плейбука указывать переменную {{ }},которую наполнять в group_vars/host_vars. А вот достать группы групп, я не помню, что возможно.
на старте прогона все известно, но наполнение парента может отличаться в зависимости от типа энва. Вообще вчера ночью нашел вот такое https://stackoverflow.com/questions/39655419/how-can-i-get-a-list-of-child-groups-in-ansible, скорее всего в ту сторону буду смотреть/пробовать, было б круто, если бы из коробки мы могли задавать логику, хотя она довольно кастомная/кривая.
Vitaliy
Добрый день. Подскажите, пожалуйста: в jinja2 чтобы получить из bool значение true или false как обычная строка нужно ли явно приводить bool в |string ? пример: Переменная synchronous_mode: false в шаблоне: {{ synchronous_mode |string |d(false, true) |lower }}
Vladislav
Привет всем. Не могу понять почему у меня не срабатывает --limit мне нужно выполнить плейбук на определенной группе. Чтобы группа хостов указывалась из консоли
Jack
да, возможно, группировка могла быть лучше. Есть парент, в нем чайлды, которые представляют абстрактные регионы (хотя у нас другой контекст) пример: child_region_1 (и в нем тоже ряд хостов). Так вот согласно ап логике, достаточно запроцессить ансибловую логику для 1ого! хоста из каждой чилдовой группы (на вход имеется только парентовая), чилдовые группы child_region_* могут иметь разное кол-во. Задача: запроцесить для 1ого хоста из каждой чайлд групп.
Антон
Т.е. что-то типа отдельного ранера с доступом ко всем публичным ключам в hashicorp vault для проверки срока и алертинга? Это как-то громоздко и не очень будет надёжно для такого важного дела
такое писал, ничего особо сложного. Первая часть ходит в волт и смотрит даты, если что - обновляет вторая часть по меткам первой обновляет серты на серверах у меня это было для nginx + lets encrypted
Jack
Хост должен быть одним и тем же или случайным?
допустимо, что случайный, хотя интересно бы рассмотреть кейс, чтобы брать всегда один и тотже.
Timur
допустимо, что случайный, хотя интересно бы рассмотреть кейс, чтобы брать всегда один и тотже.
Если нужен один и тот же, тогда выборка из группы точно плохой вариант
Timur
Порядок хостов в группе не фиксирован
[IPT] Dmitry
такое писал, ничего особо сложного. Первая часть ходит в волт и смотрит даты, если что - обновляет вторая часть по меткам первой обновляет серты на серверах у меня это было для nginx + lets encrypted
нет проблем подобное написать, но это не так надёжно как хотелось бы (чтобы забыть и просто использовать). в идеале я хочу уже проверенное временем решение из коробки
Антон
=))) это решение "из коробки" тоже кто-то написал. почему вы уверены что оно будет лучше?
[IPT] Dmitry
=))) это решение "из коробки" тоже кто-то написал. почему вы уверены что оно будет лучше?
потому что оно будет проверено временем и сообществом, а не одним мной
Антон
выложите свой вариант в общий доступ, вам точно так же накидают замечаний/предложений. есть большие шансы что даже пользоваться будут и потестят
Антон
но это офтопик
[IPT] Dmitry
я как-бы хочу свои задачи решать, а не начать заниматься разработкой таких решений
Anonymous
Всем доброго дня! Коллеги, есть задача. В роли есть несколько тасков. В результате одного из тасков я получаю строку. Можно эту строку поместить в переменную и использовать в следующих тасках? Подскажите куда копать, пожалуйста
Вернусь к своему вопросу. Сейчас через register я получаю результат запроса в postgresql PLAY [Create user and add roles in PgSQL] ****************************************************************************** TASK [Gathering Facts gather_subset=['all'], gather_timeout=10] ******************************************************** ok: [localhost] TASK [local.app.backend.access : Create default user query *** changed: [localhost] TASK [local.app.backend.access : test result msg={{ result.query_result }}] ******************************************** ok: [localhost] => { "msg": [ { "user_id": 5 } ] } Но я что-то не пойму как правильно написать запрос, чтобы получить только значение user_id
citius
а. не msg это же не часть твоего json тогда по идее тупо result.query_result.user_id
Timur
вот так? result.query_result.msg[0].user_id
Не, судя по всему, result.query_result[0].usr_id
citius
угу, или так если верхний уровень []
Anonymous
покажи как выглядит result
TASK [local.app.backend.access : test result msg={{ result }}] ********************************************************* ok: [localhost] => { "msg": { "changed": true, "failed": false, "query": "INSERT INTO public.boomq_user (user_id, email, password, language, enable_notification) VALUES (nextval('seq_user_id'), 'admin@boomq.io', '{noop}admin', 'EN', true) returning user_id", "query_result": [ { "user_id": 4 } ], "rowcount": 1, "statusmessage": "INSERT 0 1" } }
Anonymous
Anonymous
Благодарю за помощь!
Asilbek 
добрый день
Asilbek 
--- - name: Install WEB server hosts: all become: yes vars: source_file: /root/index.html destin_file: /var/www/html tasks: - block: ## =============== Block for CentOS =========== - name: Installing on centos httpd ... yum: name: httpd state: latest - name: Copy config file ... copy: src: "{{ source_file }}" dest: "{{ destin_file }}" mode: '0555' notify: restart apache CentOS - name: Starting WEB server ... service: name: httpd state: started enabled: yes when: - ansible_distribution == "CentOS" - block: ## ================ Block for Debian ============ - name: Installing on Debian apache2 apt: name: apache2 state: latest - name: Copy config file ... copy: src: "{{ source_file }}" dest: "{{ destin_file }}" mode: '0555' notify: restart apache Debian - name: Starting WEB server ... service: name: apache2 state: started enabled: yes when: - ansible_distribution == "Debian" handlers: - name: restart apache CentOS service: name: httpd state: restarted - name: restart apache Debian service: name: apache2 state: restarted
Asilbek 
Asilbek 
не могу найти ошиб ку можете помочь ?
Timur
не могу найти ошиб ку можете помочь ?
Зачем изобретать велосипед?
Timur
Возьмите роль апача любую хорошую
Timur
И задайте нужные вам переменные
Grek 🇺🇦
я думаю что если стоит вопрос в правильных отступах, то он не поймет какая роль хорошая, а какая нет
Grek 🇺🇦
добрый день
и не кидайте полотна конфигов в чат, форматирование теряется\плывет, запостите на pastebin тогда и помощь будет, и помогать будет приятнее
Отделение Bereke Bank
Там же написано что блок не умеет в хандлеры
Отделение Bereke Bank
Причём тут отступы и велосипеды?
Asilbek 
да все таки перед handlers: было лишних пробелов