Skip to content

revolman/Ansible

Repository files navigation

Ansible

Различные варианты плейбуков и ролей

/roles/

Создержит роли различные роли, которые вызываются плейбуками из корня

  • плейбук wordpress.yml - вызов mariadb, nginx, php-fpm, wordpress
  • плейбук use-roles-elk.yml - установка ELK-стека на centos

Описание некоторых возможностей

ansible-vault

Зашифрованное хранилище. Используется для шифрования всего плейбука, либо указываемых в нём паролей. Использование:

ansible-vault encrypt_string
  1. Ввести пароль хранилища
  2. Ввести пароль, который необходимо зашифровать
  3. Не нажимая 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>

создание системного пользователя с использование 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 при вызове плейбука.

About

Here's my ansible playbooks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published