## Register reverse proxy - name: Ensure upstream directory exists ansible.builtin.file: path: "{{ whoami_upstream_file_dir }}" state: directory mode: '0755' become: true listen: "update whoami upstream" - name: update whoami upstream template ansible.builtin.template: src: upstream.json.j2 dest: "{{ whoami_upstream_file_dir }}/upstream.json" become: true listen: "update whoami upstream" # figure out if upstream id exists - name: check {{ stack.name }} upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl localhost:2019/id/{{ stack.name }}_upstream/ changed_when: False register: result become: true listen: "update whoami upstream" # upstream already exists, patch it - name: remove old {{ stack.name }} upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl -X DELETE localhost:2019/id/{{ stack.name }}_upstream/ become: true when: (result.stdout | from_json)['error'] is not defined listen: "update whoami upstream" # upstream has to be created - name: add {{ stack.name }} upstream community.docker.docker_container_exec: container: "{{ caddy_container_id }}" command: > curl -X POST -H "Content-Type: application/json" -d @{{ whoami_upstream_file_dir }}/upstream.json localhost:2019/config/apps/http/servers/{{ (whoami_use_https == True) | ternary(caddy_https_server_name, caddy_http_server_name) }}/routes/0/ become: true listen: "update whoami upstream" - name: Ensure upstream directory is gone again ansible.builtin.file: path: "{{ whoami_upstream_file_dir }}" state: absent become: true listen: "update whoami upstream"