Asgoret
покаж код и версию ansible
код только с куском, который ставит гластер. там еще есть общее обнолвение системы и установка разных пакетов через "{{item}}"
Vadim
и падает на последней таске? На каком item?
Asgoret
и падает на последней таске? На каком item?
на всех, ничего, что связано с гластером не ставиться
Asgoret
и падает на последней таске? На каком item?
"(item=[u'glusterfs-server', u'glusterfs-client', u'gluster-fuse']) => {"changed": false, "item": ["glusterfs-server", "glusterfs-client", "gluster-fuse"], "msg": "No package matching 'gluster-fuse' found available, installed or updated", "rc": 126, "results": ["No package matching 'gluster-fuse' found available, installed or updated"]} "
Asgoret
если я тут же пробую руками ставлю, копируя названия пакетов из ошибки - все работает
Vadim
странно
Asgoret
поправил
Asgoret
работает
Asgoret
выходит из-за ошибки в одном пакете, падает весь таск
Asgoret
странно
спасибо)
Vadim
да, в ansible.cfg есть настройка чтобы оно не объединяло их - но тогда сама установка будет длиннее
Nikita
Всем привет, подкажите пожалуйста, нужно в роль добавить установку вот этого https://github.com/creationix/nvm для локального пользователя на удаленной машине у которого нет доступа по ssh Я не совсем понимаю как работает become_user. Ansible выдает ошибку о том, что мой пользователь не иммет прав на темповую директорию ansible - name: test hosts: '{{ target }}' become: true tasks: - name: install nvm git: path: /home/deploy/.nvm repo: https://github.com/creationix/nvm.git become_user: deploy Как будет правильней установить в окружение локального пользователя данную приблуду?
Nikita
Разобрался, allow_world_readable_tmpfiles = True
Ostap
Разобрался, allow_world_readable_tmpfiles = True
можешь таску показать ?
Nikita
можешь таску показать ?
Дык выше написано
Ostap
Разобрался, allow_world_readable_tmpfiles = True
то есть, добаить просто allow_world_readable_tmpfiles ?
Nikita
В ansible.cfg
Ostap
жыр. спасибо огромное
Nikita
https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user
Stepan T.
Господа, тут кто-нибудь использует модуль для взаимодействия с FreeIPA?
Roman
да, но только для добавления хостов в ipa
Dorian
Поцоны, расскажите есть ли способ зашифровать плейбук и выполнять его без запроса пароля?
Aleksey
да есть отличный способ
Artur
какого пароля ?
Saykhan
Ваулт
Aleksey
base64 как раз делает такое шифрование
Dorian
--ask password
Dorian
Dorian
я уж думаю бинарь на гоу написать
Pavel
Думаю это был сарказм)
Artur
--ask password
используй ключи
Dorian
не могу
Dorian
компания оч. большая
Nklya
что вообще может быть секретного в плейбуке, чтобы его нужно было шифровать
Dorian
ну, например wget
Pavel
ansible-vault --vault-password-file=<secret file>
Aleksey
пусть никто не узнает что я там такое делаю ?
Pavel
Ну по колхозному можно как-то так, через волт с паролем в файле
Dorian
Поцоны, все верно... Есть способы с ключами и паролями
Dorian
пусть никто не узнает что я там такое делаю ?
Да! Нужен именно один такой плейбук
Stepan T.
Используй единую систему авторизации и аутентификации, делай всё из под одного пользователя с достаточными правами
Aleksey
@mangoat я рекомендую просто перейти на паппет. или на cfengine
Aleksey
там как раз такой паттерн
Aleksey
исходники есть — прочитать нельзя
Dorian
исходники есть — прочитать нельзя
Значит бинарь на go в локальной репе лучший способ ?
Aleksey
Значит бинарь на go в локальной репе лучший способ ?
лучший способ понять почему у тебя такая проблема есть и решить оноую
Pavel
https://tproger.ru/explain/xyproblem/
Dorian
лучший способ понять почему у тебя такая проблема есть и решить оноую
Плейбуками пользуется множество народу, одна из ролей установка сертификатов. Не хочется, что бы кто-то видел в репе пароли на скачивание сертификатов (там basic-auth). Шифровать паролем тоже не вариант, ибо много народу пользуется. Может LDAP ?
Pavel
Это защита от добрых людей.
Aleksey
серкреты как правило маленькие
Aleksey
установленные сертифкаты прочитать нельзя ?
Aleksey
как будут раздоваться права на факт скачивания плейбука ?
Aleksey
если пароль не спрашивается резделяемого секрета нету. значит кто угодно может выполнить оный
Dorian
как будут раздоваться права на факт скачивания плейбука ?
Тут проблема, плейбуки видят все полу публичная репа, хоть и с LDAP доступом
Aleksey
текст ансибла не секрет. текст роли не секрет. тест таска тоже не он.
Pavel
В vault можно положить только пароль, а пароль этот подставлять в плейбук как переменную. Этот пароль не увидит никто
Aleksey
секрет это пароль. пароль это то что дает возможность выполнить роль. и ты хочешь оный не спрашивать.
Dorian
Спасибо за идеи парни!
Dorian
Может действительно бинарь на go написать...
Nklya
Засунуть вызов ансибла в CI или Tower и все
Aleksey
Может действительно бинарь на go написать...
а что бинарь то на го уже не пропустить через strings ?
Aleksey
base64 ;)
ну я с этого и начал... сама задча решена не верно...
Aleksey
сейчас ты вместо гарантирования результата просто усложняешь задачу по добыванию данных...
Pavel
Если я правильно понял автора, на сервер надо поставить ключи, причём ни содержимое ключей ни пароли доступа к серверу с ключами светить в публичной репе нежелательно.
Aleksey
так что бинарь на го потом upx для запаковки бинаря. а поверх крипту типа aspprotect или что там сейчас модно
Vadim
пусть оно через lookup их достает откуда угодно - из закрытого гитрепа, S3 смонтированного локально и т.д.
Pavel
В таком случае проще всего организовать доступ с целевых серверов по ключу, ключи генерить на них же отдельным плейбуком. Сервер будет сам ломиться куда надо и получать сертификат, никакая секретная информация не утечёт в репы
Dorian
Поговорю с безопасниками, может получится ограничить доступ к плейбуку
Dorian
Спасибо, господа!
Pavel
В плейбуке просто будет: scp {servername}@{keyshost}:certs/meycert.crt /etc/pki/.... А учётка и ключи - на сервере, на котором этот плейбук выполняется