Q: «Как мне расшифровать файл .yml?»
A: Просто используйте этот файл как любой другой файл с переменными. Например,
shell> ansible-vault encrypt_string 'password' --name 'pass'
pass: !vault |
$ANSIBLE_VAULT;1.1;AES256
65303631663061316538623639316439366538386430656239383735353237343762346364653230
3163643637333966643762383733633465353065333564310a303762343732613363313864646661
66633539363865386362613362663238353664356439386431303065646530666562326662356439
3032313564373364360a623830613763616635383633363631356535316162393138373336386534
3835
shell> cat conf1.yml
pass: !vault |
$ANSIBLE_VAULT;1.1;AES256
65303631663061316538623639316439366538386430656239383735353237343762346364653230
3163643637333966643762383733633465353065333564310a303762343732613363313864646661
66633539363865386362613362663238353664356439386431303065646530666562326662356439
3032313564373364360a623830613763616635383633363631356535316162393138373336386534
3835
shell> cat playbook.yml
- hosts: localhost
tasks:
- include_vars: conf1.yml
- debug:
var: pass
дает
shell> ansible-playbook playbook.yml
...
"pass": "password"
A: необязательно decrypt
файл таким же, каким он был encrypt
изд . Например,
shell> cat conf.yml
user: dbuser
shell> ansible-vault encrypt conf.yml
Encryption successful
shell> cat conf.yml
$ANSIBLE_VAULT;1.1;AES256
63313762343630623364653737643462373034653762616333663330613039623534633030666135
6633343263666465356537316430623834386130626231310a376639356234336664386239336461
31313935613565656639653532613639396536326662346234373563663065643564373939316539
3430643635623339390a393139326337306363623565356439626430643161356266323832313461
3633
shell> ansible-vault decrypt conf.yml
Decryption successful
shell> cat conf.yml
user: dbuser
A: В плейбуке просто используйте его как любой другой файл с переменными. Например, книга воспроизведения
shell> cat playbook.yml
- hosts: localhost
tasks:
- include_vars: conf.yml
- debug:
var: user
дает
shell> ansible-playbook playbook.yml
...
"user": "dbuser"