2023-12-30 14:54:37 +00:00
|
|
|
---
|
|
|
|
# hashistack variable injection playbook
|
2024-01-02 22:25:59 +00:00
|
|
|
- name: "Load global variables"
|
|
|
|
block:
|
|
|
|
- name: "Stat global configuration file"
|
|
|
|
ansible.builtin.stat:
|
|
|
|
path: "{{ configuration_directory }}/{{ configuration_global_vars_file }}"
|
|
|
|
register: _global_config_file
|
|
|
|
delegate_to: localhost
|
|
|
|
|
|
|
|
- name: "Make sure global configuration file exists"
|
|
|
|
ansible.builtin.assert:
|
|
|
|
that:
|
|
|
|
- _global_config_file.stat.exists
|
|
|
|
delegate_to: localhost
|
|
|
|
|
2023-12-30 14:54:37 +00:00
|
|
|
- name: "Load global variables"
|
2024-01-02 22:25:59 +00:00
|
|
|
ansible.builtin.include_vars:
|
|
|
|
dir: "{{ configuration_directory }}"
|
|
|
|
files_matching: "{{ configuration_global_vars_file }}"
|
2024-01-03 20:06:30 +00:00
|
|
|
depth: 1
|
2024-01-02 22:25:59 +00:00
|
|
|
delegate_to: localhost
|
2024-01-02 20:11:32 +00:00
|
|
|
|
2024-01-02 22:25:59 +00:00
|
|
|
- name: "Load group specific variables"
|
|
|
|
block:
|
|
|
|
- name: "Stat group specific config file"
|
|
|
|
ansible.builtin.stat:
|
2024-01-03 20:06:30 +00:00
|
|
|
path: "{{ configuration_directory }}/{{ group_name }}/{{ configuration_global_vars_file }}"
|
2024-01-02 22:25:59 +00:00
|
|
|
register: _group_config_file
|
|
|
|
loop: "{{ group_names }}"
|
2024-01-03 20:06:30 +00:00
|
|
|
loop_control:
|
|
|
|
loop_var: group_name
|
2023-12-30 14:54:37 +00:00
|
|
|
|
2024-01-02 22:25:59 +00:00
|
|
|
- name: Load group specific variables
|
2023-12-30 14:54:37 +00:00
|
|
|
ansible.builtin.include_vars:
|
2024-01-03 20:06:30 +00:00
|
|
|
dir: "{{ configuration_directory }}/{{ item.group_name }}"
|
2024-01-02 22:25:59 +00:00
|
|
|
files_matching: "{{ configuration_global_vars_file }}"
|
2024-01-03 20:06:30 +00:00
|
|
|
depth: 1
|
2024-01-02 22:25:59 +00:00
|
|
|
loop: "{{ _group_config_file.results }}"
|
|
|
|
when: item.stat.exists
|
2024-01-03 20:06:30 +00:00
|
|
|
and item.group_name in group_names
|
|
|
|
loop_control:
|
|
|
|
loop_var: item
|
2024-01-02 22:25:59 +00:00
|
|
|
delegate_to: localhost
|
2023-12-30 14:54:37 +00:00
|
|
|
|
2024-01-03 16:38:09 +00:00
|
|
|
- name: "Load host specific variables"
|
|
|
|
block:
|
|
|
|
- name: "Stat host specific config file"
|
|
|
|
ansible.builtin.stat:
|
2024-01-03 20:06:30 +00:00
|
|
|
path: "{{ configuration_directory }}/{{ group_name }}/{{ inventory_hostname }}/{{ configuration_global_vars_file }}"
|
2024-01-03 16:38:09 +00:00
|
|
|
register: _host_config_file
|
|
|
|
loop: "{{ group_names }}"
|
2024-01-03 20:06:30 +00:00
|
|
|
loop_control:
|
|
|
|
loop_var: group_name
|
2024-01-03 16:38:09 +00:00
|
|
|
delegate_to: localhost
|
|
|
|
|
|
|
|
- name: Load host specific variables
|
|
|
|
ansible.builtin.include_vars:
|
2024-01-03 20:06:30 +00:00
|
|
|
dir: "{{ configuration_directory }}/{{ item.group_name }}/{{ inventory_hostname }}"
|
2024-01-03 16:38:09 +00:00
|
|
|
files_matching: "{{ configuration_global_vars_file }}"
|
|
|
|
loop: "{{ _host_config_file.results }}"
|
|
|
|
when: item.stat.exists
|
2024-01-03 20:06:30 +00:00
|
|
|
loop_control:
|
|
|
|
loop_var: item
|
2024-01-03 16:38:09 +00:00
|
|
|
delegate_to: localhost
|
2024-01-02 22:25:59 +00:00
|
|
|
|
2024-01-05 22:58:30 +00:00
|
|
|
- name: "Merge vault configurations"
|
|
|
|
ansible.builtin.import_tasks:
|
|
|
|
file: "vault_vars.yml"
|
|
|
|
when:
|
|
|
|
- enable_vault | bool
|
|
|
|
- "'vault_servers' in group_names"
|
|
|
|
|
2024-01-03 20:06:30 +00:00
|
|
|
- name: "Debug"
|
|
|
|
ansible.builtin.debug:
|
|
|
|
msg: "{{ vault_cluster_name }}"
|