Различные варианты плейбуков и ролей
Создержит роли различные роли, которые вызываются плейбуками из корня
- плейбук wordpress.yml - вызов mariadb, nginx, php-fpm, wordpress
- плейбук use-roles-elk.yml - установка ELK-стека на centos
Зашифрованное хранилище. Используется для шифрования всего плейбука, либо указываемых в нём паролей. Использование:
ansible-vault encrypt_string
- Ввести пароль хранилища
- Ввести пароль, который необходимо зашифровать
- Не нажимая enter прекратить ввод ctrl+d
Полученный код вставляется в плейбук начиная с !vault |
Для запуска такого плейбука нужно использовать комманду:
ansible-playbook <playbook.yml> --ask-vault-pass
После чего вводится указанный ранее пароль на хранилище.
Возможно создать отдельный файл хранилища:
ansible-vault create <my-vault>
Для его изменения и чтения используются комманды:
ansible-vault edit <my-vault>
ansible-vault read <my-vault>
При создании пользователя по примеру прейбука https://github.com/revolman/Ansible/blob/master/create-user-with-key.yml нужно не забывать, то передаваться пароль в удалённую систему должен уже в зашифрованном виде.
Порядок действий:
- зашифровать пароль в sha512 можно к примеру такой коммандой:
ansible all -i localhost, -m debug -a "msg={{ 'Mypasswd\!@' | password_hash('sha512', 'salt') }}"Восклицательный знак "!" нужно экранировать "!", соль можно придумать любую - зашифровать полученный хэш в ansible-vault:
echo -n '$6$Hgsad6312$vXfFywEpeC.b/5KtRWMOasWi82w0Of3WKMeLbR98Dk8VIuBXDgnx3En3bBIX73k8afaixkilALkKiT6bgi7KV/' | ansible-vault encrypt_stringобязательно использвовать одинарные кавычки: 'хэш' - полученный шифр можно вставлять в плейбук на нужное место. Для расшифровки использовать ключ --ask-vault-pass при вызове плейбука.