Passar variáveis para playbooks ansible

2

Eu preciso puxar uma compilação do S3 na minha máquina de destino. Portanto, eu preciso passar a chave S3 e segredo para o playbook ansible de alguma forma.

Eu sei que eu poderia defini-los em

  • o inventário
  • o próprio livro de exercícios

mas eu realmente não quero armazenar credenciais lá.

Posso usar variáveis de ambiente da máquina local (ou algo semelhante) em um playbook ansible?

    
por Erik Aigner 30.11.2013 / 13:35

2 respostas

5

$ENV(SOMEVAR) ou {{ lookup('env', 'SOMEVAR') }} (1.1+) deve funcionar. Você também pode usar vars_prompt para solicitá-lo no tempo de execução do playbook.

    
por 30.11.2013 / 14:30
2

Confira o cofre ansible ele permite que você criptografe as variáveis em um arquivo e, em seguida, "desbloqueie" esse arquivo na execução -time.

Se isso falhar, você também pode especificar variáveis extras em tempo de execução com o sinalizador -e "":

ansible-playbook -i inv/production myplaybook.yml -e "s3_key=<value here> s3_secret=<secret here>"
    
por 11.02.2015 / 00:15

Tags