--- # Lightweight deploy: pull the latest caddy image and restart the # caddy systemd service — without re-applying the whole playbook. # # Caddy has no infisical secrets, so a plain `docker compose pull` works # directly. We pull explicitly first so a registry/network failure # surfaces *before* the running container is taken down. # # Run from devserver/ansible/: # ansible-playbook deploy-svc-caddy.yaml - name: Pull latest caddy image and restart service hosts: devserver become: true vars_files: - roles/svc-caddy/defaults/main.yaml tasks: - name: Render compose.yaml ansible.builtin.template: src: roles/svc-caddy/templates/compose.yaml.j2 dest: "{{ caddy_deploy_dir }}/compose.yaml" owner: root group: root mode: "0644" - name: Render Caddyfile ansible.builtin.template: src: roles/svc-caddy/templates/Caddyfile.j2 dest: "{{ caddy_deploy_dir }}/Caddyfile" owner: root group: root mode: "0644" - name: Pull latest caddy image ansible.builtin.command: cmd: "{{ caddy_deploy_dir }}/run.sh pull" chdir: "{{ caddy_deploy_dir }}" changed_when: true register: _svc_caddy_pull - name: Show pull output ansible.builtin.debug: var: _svc_caddy_pull.stdout_lines - name: Restart caddy.service ansible.builtin.systemd: name: caddy.service state: restarted daemon_reload: true - name: Show caddy service status ansible.builtin.command: cmd: systemctl --no-pager status caddy.service changed_when: false failed_when: false register: _svc_caddy_status - name: Print service status ansible.builtin.debug: var: _svc_caddy_status.stdout_lines