--- - name: 'Include vars for "{{ service }}" service' include_vars: "{{ file }}" with_fileglob: "{{ services_root }}/{{ service }}/vars/*" loop_control: loop_var: file - name: 'Ensure "{{ service }}" service config directory exist' file: path: "{{ remote_services_root }}/{{ service }}" state: directory recurse: true owner: "{{ ansible_user }}" - name: 'Ensure "{{ service }}" service config directory exist' file: path: "{{ remote_services_root }}/{{ service }}/config" state: directory recurse: true owner: "{{ ansible_user }}" - name: 'Synchronise "{{ service }}" configuration' template: src: "{{ services_root }}/{{ service }}/stack.yml" dest: "{{ remote_services_root }}/{{ service }}/stack.yml" - name: 'Include vars for "{{ service }}" service' copy: src: "{{ file }}" dest: "{{ remote_services_root }}/{{ file | replace(services_root, '') }}" with_fileglob: "{{ services_root }}/{{ service }}/config/*" loop_control: loop_var: file - name: 'Deploy "{{ service }}" docker stack' community.docker.docker_stack: name: "{{ service }}" compose: - "{{ remote_services_root }}/{{ service }}/stack.yml" - version: "{{ compose_version }}" networks: traefik: external: true