![Conversão de host vars em arquivo env muito lenta com ansible](https://rvso.com/image/768904/Convers%C3%A3o%20de%20host%20vars%20em%20arquivo%20env%20muito%20lenta%20com%20ansible.png)
Tenho a seguinte tarefa no ansible:
- name: Set env vars
lineinfile:
path: "~/.env"
mode: 0600
create: yes
line: "{{ item.key|upper }}=\"{{ item.value }}\""
regexp: "^{{ item.key|upper }}="
loop: "{{ env_file |dict2items }}"
Está criando o .env
arquivo linha por linha, mas é MUITO lento. Existe uma maneira melhor?
O arquivo .yml se parece com:
env_file:
key1: "value1"
key2: "value2"
O arquivo resultante tem o formato:
KEY1="value1"
KEY2="value2"
Cada linha leva cerca de 20 segundos para ser processada e realmente faz sentido.
Responder1
Tente usar o template
módulo e escrever um arquivo Jinja2. Tende a ser mais rápido do que lineinfile
ao lidar com loops.