Объединить ansible-хранилище с запрашиваемыми переменными?

929
hymie

У меня сейчас проблема в том, что для использования зашифрованных строк ansible-vault мне нужно указать в командной строке --vault-id=foo@prompt.

Я не очень часто использую зашифрованные строки, поэтому я предпочел бы, чтобы в моем игровом уведомлении я собирался использовать зашифрованную строку и запрашивал пароль только тогда, когда это абсолютно необходимо.

Это возможно? Нечто подобное

 vars: string1: !vault | $ANSIBLE_VAULT;1.2;AES256;foo 66306438623164653061623661376331643537303931663562326336386234333935373661623261 3930633662616462316133633236383530356561346233640a386439316638313361333437386435 38346635626533313266663436666163386238616266623038666364323232393465656665643831 6437616339616463360a383263333965366264633562343965386137313364613737356666623562 3033 vars_prompt: - name: "cryptpasswd" prompt: "ansible-vault password" private: yes tasks: - name: "secret string" debug: msg: "secret message is {{ string1 }}" 

... а потом мой пароль каким-то образом доступен для расшифровки строки при необходимости?

Благодарю.

0

1 ответ на вопрос

0
snowkiterdude

Вы можете использовать совершенно произвольную строку пароля и добавить ее в файл паролей.

в вашем файле ansible.cfg:

vault_password_file = vault_pass.txt 

добавьте файл vault_pass.txt в ваш рабочий каталог с вашим паролем и все.

Если вы используете git, обязательно добавьте файл паролей в ваш файл .gitignore.

Спасибо. Ваш комментарий о ansible.cfg привел меня к пониманию, что отдельный каталог (хотя, к сожалению, не отдельная пьеса или книга воспроизведения) может иметь свой собственный ansible.cfg. Это и ваше предложение должно решить мою проблему. hymie 6 лет назад 0

Похожие вопросы