From 0b3bb1e3f48daddea7e9d51c1008e2b2cee55eee Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Wed, 5 Aug 2026 20:55:16 +0200 Subject: [PATCH] better handling when parsing env into dict --- roles/env/tasks/main.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/roles/env/tasks/main.yml b/roles/env/tasks/main.yml index 991d079..062e018 100644 --- a/roles/env/tasks/main.yml +++ b/roles/env/tasks/main.yml @@ -1,12 +1,16 @@ --- - name: Read .env file ansible.builtin.slurp: - src: "../.env" + src: "{{ playbook_dir }}/../.env" delegate_to: localhost register: env_file -- name: Parse .env file +- name: Build list of key/value pairs ansible.builtin.set_fact: - env_vars: "{{ dict(env_file['content'] | b64decode | split('\n') | select('search', '=') | map('split', '=', 1) | list) }}" + env_lines: "{{ (env_file['content'] | b64decode).splitlines() | select('match', '^[^#=]+=.*$') | list }}" +- name: Parse .env file into a dict + ansible.builtin.set_fact: + env_vars: "{{ env_vars | default({}) | combine({ (item.split('=', 1)[0] | trim): (item.split('=', 1)[1] | trim) }) }}" + loop: "{{ env_lines }}"