diff --git a/ansible/generate_hcl_files.yml b/ansible/generate_hcl_files.yml index ce1d06f..19fb8ff 100644 --- a/ansible/generate_hcl_files.yml +++ b/ansible/generate_hcl_files.yml @@ -46,9 +46,9 @@ - name: Set directory names from configuration with overrides ansible.builtin.set_fact: - env_name: "{{ env_override | default(config.environment) | default(current.environment_dir) }}" - region_name: "{{ region_override | default(config.region) | default(current.region_dir) }}" - cluster_dir: "{{ cluster_dir_override | default(config.cluster_dir) | default(current.cluster_dir) }}" + env_name: "{{ config.environment }}" + region_name: "{{ config.region }}" + cluster_dir: "{{ config.cluster_dir }}" # Consolidate all template variables in one place - name: Set all template variables @@ -108,15 +108,25 @@ - name: Create target directory structure ansible.builtin.file: - path: "{{ output_dir }}/{{ env_name }}/{{ item }}" - state: directory - mode: '0755' - loop: - - "" - - "{{ region_name }}" - - "{{ region_name }}/vpc" - - "{{ region_name }}/vpc/{{ cluster_dir }}" + path: "{{ output_dir }}/{{ env_name }}/{{ region_name }}/vpc/{{ cluster_dir }}" + # Copy any additional files in module directories (like README.md) + - name: Find all additional files in module directories + ansible.builtin.find: + paths: "{{ base_dir }}/{{ current.environment_dir }}/{{ current.region_dir }}/vpc/{{ current.cluster_dir }}" + excludes: + - "*/terragrunt.hcl" + - "*/terragrunt.hcl.off" + recurse: yes + register: additional_files + + - name: Copy additional files to target structure + ansible.builtin.copy: + src: "{{ item.path }}" + dest: "{{ output_dir }}/{{ env_name }}/{{ region_name }}/vpc/{{ cluster_dir }}/{{ item.path | regex_replace('.*' + current.cluster_dir + '/(.*)', '\\1') }}" + mode: '0644' + loop: "{{ additional_files.files }}" + - name: Generate root.hcl from template ansible.builtin.template: src: "{{ template_dir }}/root.hcl.j2" @@ -160,23 +170,7 @@ state: directory mode: '0755' loop: "{{ cluster_modules.files }}" - - # Copy any additional files in module directories (like README.md) - - name: Find all additional files in module directories - ansible.builtin.find: - paths: "{{ base_dir }}/{{ current.environment_dir }}/{{ current.region_dir }}/vpc/{{ current.cluster_dir }}" - excludes: - - "*/terragrunt.hcl" - - "*/terragrunt.hcl.off" - recurse: yes - register: additional_files - - - name: Copy additional files to target structure - ansible.builtin.copy: - src: "{{ item.path }}" - dest: "{{ output_dir }}/{{ env_name }}/{{ region_name }}/vpc/{{ cluster_dir }}/{{ item.path | regex_replace('.*' + current.cluster_dir + '/(.*)', '\\1') }}" - mode: '0644' - loop: "{{ additional_files.files }}" + - name: Generate README.md with documentation ansible.builtin.template: