Очень медленное преобразование переменных хоста в файл env с помощью ansible

Очень медленное преобразование переменных хоста в файл env с помощью ansible

У меня есть следующая задача в 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 }}"

Он создает .envфайл построчно, но это ОЧЕНЬ медленно. Есть ли способ получше?

Файл .yml выглядит так:

env_file:
  key1: "value1"
  key2: "value2"

Полученный файл имеет формат:

KEY1="value1"
KEY2="value2"

Обработка каждой строки занимает около 20 секунд, и это действительно занимает много времени.

решение1

Попробуйте использовать templateмодуль и написать файл Jinja2. Это, как правило, быстрее, чем lineinfileпри работе с циклами.

Связанный контент