Há duas coisas que você está tentando fazer que não são (pelo menos neste momento) suportadas:
- descriptografando seus segredos no momento da importação do inventário
- usando
ansible-vault
para criptografar o arquivo inteiro, ao contrário das variáveis
A terminologia aqui é um pouco pobre, mas veja nestes documentos a seção "Single Encrypted Variable", às vezes eu chamo essas variáveis in-line.
link
O
Ansible agora suporta a movimentação dessas variáveis in-line através do processo de análise de inventário. Este formato também não é menos seguro, é o mesmo algoritmo sob o capô. O nome das variáveis criptografadas será exposto a pessoas com acesso ao seu controle de origem (o que provavelmente é razoável), mas seu valor será criptografado.
Agora, armazene valores com essa sintaxe em .yml
arquivos variáveis em group_vars/
ou host_vars/
pastas. Você deve descobrir que a sincronização de inventário dentro do Tower é bem-sucedida (sem usar nenhuma credencial de cofre) e, quando você navega até o grupo ou host, você vê a forma criptografada da variável.
Quando você executar um livro de exercícios (modelo de trabalho em Torre), anexe uma credencial de cofre nesse momento. Isso atrasa a criptografia até o contexto de tempo de execução quando é realmente necessário.
Exemplo de estrutura de arquivo de inventário:
link
Além disso, como o outro comentário aponta, é possível colocar variáveis criptografadas ou criptografadas em linha inteira nessa estrutura de pastas no controle de origem, e isso será selecionado pelo Ansible e descriptografado pelo vault. credenciais que você anexa ao modelo de trabalho.