From c5e89f0f90988eb45f0b0cfcfc344312c97a0fda Mon Sep 17 00:00:00 2001 From: Amritanshu Date: Sun, 6 Sep 2026 14:15:52 +0530 Subject: [PATCH] Caddy: PocketBase dashboard reachable at cms host root (redir / -> /_/) - snippet generation moved to a j2 template; per-host pb_root flag - cms.mozimo.in emits 'redir / /_/' before reverse_proxy (pattern from overlord's Caddyfile); other hosts unchanged - snippets now update in place (blockinfile idempotency) instead of skipping when the desired block changed --- ansible/roles/caddy/tasks/snippet.yaml | 18 +++++------------- ansible/roles/caddy/templates/snippet.j2 | 6 ++++++ 2 files changed, 11 insertions(+), 13 deletions(-) create mode 100644 ansible/roles/caddy/templates/snippet.j2 diff --git a/ansible/roles/caddy/tasks/snippet.yaml b/ansible/roles/caddy/tasks/snippet.yaml index 09c5dff..7014afc 100644 --- a/ansible/roles/caddy/tasks/snippet.yaml +++ b/ansible/roles/caddy/tasks/snippet.yaml @@ -1,20 +1,12 @@ --- -- name: Build snippet block from variables - set_fact: - snippet_block: | - {{ snippet.host }} { - reverse_proxy {{ snippet.upstream }} - } +- name: Build Caddy snippet block for {{ snippet.host }} + ansible.builtin.set_fact: + snippet_block: "{{ lookup('ansible.builtin.template', 'snippet.j2') }}" -- name: Check if snippet already exists - set_fact: - snippet_present: "{{ snippet_block in caddyfile_content }}" - -- name: Add snippet if missing +- name: Install snippet block for {{ snippet.host }} ansible.builtin.blockinfile: path: "{{ caddyfile_path }}" marker: "# {mark} Ansible managed Caddy snippet for {{ snippet.host }}" block: "{{ snippet_block }}" - create: yes - when: not snippet_present + insertafter: EOF notify: "Reload Caddy" diff --git a/ansible/roles/caddy/templates/snippet.j2 b/ansible/roles/caddy/templates/snippet.j2 new file mode 100644 index 0000000..f8c9cfa --- /dev/null +++ b/ansible/roles/caddy/templates/snippet.j2 @@ -0,0 +1,6 @@ +{{ snippet.host }} { +{% if snippet.pb_root | default(false) %} + redir / /_/ +{% endif %} + reverse_proxy {{ snippet.upstream }} +}