У меня есть работа в Rundeck, которая требует, чтобы пользователи передавали пароль базы данных в ansible. А ansible примет это как дополнительную переменную.
ansible-playbook test.yml -e "password=123"
Однако мы хотели бы сохранить пароль во время выполнения, но в соответствии с передовой практикой а>. Они потребуют, чтобы пароль был сохранен в файле. и сохраните весь файл с помощью ansible-vault create.
Поскольку нам нужно передать большое количество паролей, и я заметил, что есть вызов функции encrypt_string. Я пытаюсь вызвать его в playbook и пытаюсь на лету сгенерировать пароль хранилища, но получаю сообщение об ошибке ниже:
«ОШИБКА! Для шифрования можно использовать только один --vault-id. Это включает пароли из конфигурации и cli.»
Вот моя инструкция test.yml:
---
- name: test
hosts: localhost
tasks:
- name: vault var
command: ansible-vault encrypt_string "{{ password }}" --vault-password-file ~/.vault_pass.txt
register: var
- name: variable
set_fact:
mypass: var
- name: test encrypt_string
debug:
msg: "{{ mypass }}"
Я не уверен, что это правильный способ сделать это / лучшая практика, любой, кто может пролить свет, будет очень признателен.
Спасибо,