Tenho 2 modelos jinja contendo chave privada:
private.key
(criptografado)private-copy.key
(precisa incluir o conteúdo de private.key)
private.key
o arquivo é criptografado usando o Ansible Vault, por exemplo
ansible-vault encrypt --vault-password-file ~/.pass.txt private.key
então seu conteúdo se parece com isso:
$ANSIBLE_VAULT;1.1;AES256
123456789[...]
Estou tentando obter o conteúdo descriptografado deprivate.key
-----BEGIN RSA PRIVATE KEY-----
ABCDEfgh[...]
-----END RSA PRIVATE KEY-----
dentro private-copy.key
(e não seu valor criptografado).
Eu tentei incluir a declaração jinja dentro de private-copy.key
:
{% include "private.key" %}
mas o resultado me dá o valor criptografado em private-copy.key
vez do conteúdo descriptografado de private.key
.
Eu também sei que posso usar uma variável criptografada e colocá-la em private-copy.key em vez de incluir o arquivo criptografado. Para fins de simplificação, quero usar diretamente o arquivo criptografado (na renovação de certificados, obtemos um arquivo, eu só queria usá-lo diretamente).
Use o plugin de pesquisa de arquivo: O Ansible permite que você leia o conteúdo de um arquivo usando o plugin lookup('file', ...). Quando combinado com o ansible-vault para arquivos criptografados, ele descriptografa automaticamente o conteúdo se o arquivo estiver criptografado.