Mixing encrypted data with plain YAML
Before the release of Ansible 2.3, secure data had to be encrypted in a separate file. For the reasons we discussed earlier, it is desirable to encrypt as little data as possible. This is now possible (and also saves a need for too many individual files as part of a playbook) through the use of the encrypt_string
subcommand of ansible-vault
, which produces an encrypted string that can be placed into an Ansible YAML file. Let's start with the following basic playbook as an example:
--- - name: inline secret variable demonstration hosts: localhost gather_facts: false vars: my_secret: secure_password tasks: - name: print the secure variable ansible.builtin.debug: var: my_secret
We can run this code (insecure though it is!) with the following command:
ansible...