--- # task/configure file for hashicorp_consul - name: "Consul | Create consul.env" ansible.builtin.template: src: consul.env.j2 dest: "{{ consul_config_dir }}/consul.env" owner: "{{ consul_user }}" group: "{{ consul_group }}" mode: "0600" register: _consul_env_file - name: "Consul | Copy consul.json template" ansible.builtin.template: src: consul.json.j2 dest: "{{ consul_config_dir }}/consul.json" owner: "{{ consul_user }}" group: "{{ consul_group }}" mode: "0600" register: _consul_config_file - name: "Consul | Set restart-check variable" ansible.builtin.set_fact: _consul_service_need_restart: true when: _consul_env_file.changed or _consul_config_file.changed - name: "Consul | Copy extra configuration files" when: consul_extra_files block: - name: "Consul | Get extra file types" ansible.builtin.stat: path: "{{ item.src }}" loop: "{{ consul_extra_files_list }}" register: consul_extra_file_stat delegate_to: localhost - name: "Consul | Set list for file sources" vars: _consul_file_sources: [] ansible.builtin.set_fact: _consul_file_sources: "{{ _consul_file_sources + [item.item] }}" when: item.stat.isreg loop: "{{ consul_extra_file_stat.results }}" loop_control: loop_var: item delegate_to: localhost - name: "Consul | Set list for directory sources" vars: _consul_dir_sources: [] ansible.builtin.set_fact: _consul_dir_sources: "{{ _consul_dir_sources + [item.item] }}" when: item.stat.isdir loop: "{{ consul_extra_file_stat.results }}" loop_control: loop_var: item delegate_to: localhost - name: "Consul | Template extra file sources" ansible.builtin.template: src: "{{ item.src }}" dest: "{{ item.dest | regex_replace('\\.j2$', '') }}" owner: "{{ consul_user }}" group: "{{ consul_group }}" mode: "0700" loop: "{{ _consul_file_sources }}" when: _consul_file_sources is defined - name: "Consul | Template extra directory sources" ansible.builtin.include_tasks: recursive_copy_extra_dirs.yml loop: "{{ _consul_dir_sources }}" loop_control: loop_var: dir_source_item when: _consul_dir_sources is defined