Skip to content

Commit

Permalink
Refactor directory name assignments and streamline additional file co…
Browse files Browse the repository at this point in the history
…pying in generate_hcl_files.yml (#4)

Co-authored-by: Your Name <user@example.com>
  • Loading branch information
arnol377 and Your Name committed Jun 26, 2025
1 parent 379bb22 commit 7ea5947
Showing 1 changed file with 22 additions and 28 deletions.
50 changes: 22 additions & 28 deletions ansible/generate_hcl_files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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"
Expand Down Expand Up @@ -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:
Expand Down

0 comments on commit 7ea5947

Please sign in to comment.