Skip to content

Commit

Permalink
Add cleanup for Azure files
Browse files Browse the repository at this point in the history
This commit adds the cleanup procedure also for the Azure generated files.
  • Loading branch information
rascasoft committed Nov 4, 2024
1 parent ad604bb commit 99c0d23
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
54 changes: 54 additions & 0 deletions tasks/azure-cleanup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---

- name: Generate list of .tf files to keep
ansible.builtin.set_fact:
files_to_keep: []

- name: Add fixed resources files to keep list
ansible.builtin.set_fact:
files_to_keep: "{{ files_to_keep + [ tf_config_dir + '/azure/' + item + '.tf' ] }}"

Check warning on line 9 in tasks/azure-cleanup.yml

View workflow job for this annotation

GitHub Actions / lint

jinja[spacing]

Jinja2 spacing could be improved: {{ files_to_keep + [ tf_config_dir + '/azure/' + item + '.tf' ] }} -> {{ files_to_keep + \[tf_config_dir + '/azure/' + item + '.tf'] }}
with_items:
- "{{ azure_resources }}"
- "{{ azure_vpn_resources }}"

- name: Add key_vault.tf resource file to keep list
ansible.builtin.set_fact:
files_to_keep: "{{ files_to_keep + [ tf_config_dir + '/azure/key_vault.tf' }}"
when:
- azure_key_vault_enable | bool

- name: Add database.tf resource file to keep list
ansible.builtin.set_fact:
files_to_keep: "{{ files_to_keep + [ tf_config_dir + '/azure/database.tf' }}"
when:
- azure_database_servers is defined

- name: Add dynamic .vms.tf files to keep list
ansible.builtin.set_fact:
files_to_keep: "{{ files_to_keep + [ tf_config_dir + '/' + item + '.vms.tf' ] }}"

Check warning on line 28 in tasks/azure-cleanup.yml

View workflow job for this annotation

GitHub Actions / lint

jinja[spacing]

Jinja2 spacing could be improved: {{ files_to_keep + [ tf_config_dir + '/' + item + '.vms.tf' ] }} -> {{ files_to_keep + \[tf_config_dir + '/' + item + '.vms.tf'] }}
with_items:
- "{{ azure_vms_groups }}"

- name: Get the stats (including absolute paths) of the remote files
ansible.builtin.stat:
path: "{{ item }}"
loop: "{{ files_to_keep }}"
register: files_to_keep_stats

- name: Create a list of files to keep with absolute paths
ansible.builtin.set_fact:
files_to_keep_full_path: "{{ files_to_keep_full_path | default([]) + [ item.stat.path ] }}"

Check warning on line 40 in tasks/azure-cleanup.yml

View workflow job for this annotation

GitHub Actions / lint

jinja[spacing]

Jinja2 spacing could be improved: {{ files_to_keep_full_path | default([]) + [ item.stat.path ] }} -> {{ files_to_keep_full_path | default([]) + \[item.stat.path] }}
loop: "{{ files_to_keep_stats.results }}"

- name: Generate the list of all the .tf files
ansible.builtin.find:
paths: "{{ tf_config_dir }}"
patterns: "*.tf,*.cfg"
register: all_files

- name: Effectively delete files not to keep
ansible.builtin.file:
path: "{{ item.path }}"
state: absent
loop: "{{ all_files.files }}"
when: item.path not in files_to_keep_full_path
3 changes: 3 additions & 0 deletions tasks/azure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,9 @@
loop_control:
loop_var: group_name

- name: Cleanup Azure manifests
ansible.builtin.include_tasks: azure-cleanup.yml

- name: Display a reminder for sourcing variables
ansible.builtin.debug:
msg:
Expand Down

0 comments on commit 99c0d23

Please sign in to comment.