Caddy: adopt dual-role snippet (PB api+admin on main host), relative PB file urls
- www host: /_* and /api/* proxy to pocketbase :8090, everything else to the TanStack app; redir /_ /_/ for the admin path - cms host unchanged: redir / -> /_/ - migration: legacy per-host marker blocks are removed before the new combined block is installed - cms.ts: PB file urls are now same-origin relative (/api/files/...) — browsers could never load the old 127.0.0.1:8090 urls; validated the rendered Caddyfile with caddy:2
This commit is contained in:
@@ -1,15 +1,3 @@
|
||||
---
|
||||
- name: Read current Caddyfile
|
||||
ansible.builtin.slurp:
|
||||
path: "{{ caddyfile_path }}"
|
||||
register: caddyfile_raw
|
||||
|
||||
- name: Decode Caddyfile content
|
||||
set_fact:
|
||||
caddyfile_content: "{{ caddyfile_raw['content'] | b64decode }}"
|
||||
|
||||
- name: Add Caddy snippets for each published host
|
||||
- name: Install mozimo Caddy snippet (web + cms)
|
||||
ansible.builtin.include_tasks: snippet.yaml
|
||||
loop: "{{ caddy_hosts }}"
|
||||
loop_control:
|
||||
loop_var: snippet
|
||||
|
||||
@@ -1,12 +1,22 @@
|
||||
---
|
||||
- name: Build Caddy snippet block for {{ snippet.host }}
|
||||
- name: Read snippet from template
|
||||
ansible.builtin.set_fact:
|
||||
snippet_block: "{{ lookup('ansible.builtin.template', 'snippet.j2') }}"
|
||||
caddy_snippet_block: "{{ lookup('ansible.builtin.template', 'snippet.j2') }}"
|
||||
|
||||
- name: Install snippet block for {{ snippet.host }}
|
||||
# migrate away from the older per-host marker blocks (pre dual-role snippet)
|
||||
- name: Remove legacy per-host snippet blocks
|
||||
ansible.builtin.blockinfile:
|
||||
path: "{{ caddyfile_path }}"
|
||||
marker: "# {mark} Ansible managed Caddy snippet for {{ snippet.host }}"
|
||||
block: "{{ snippet_block }}"
|
||||
marker: "# {mark} Ansible managed Caddy snippet for {{ item }}"
|
||||
state: absent
|
||||
loop:
|
||||
- "{{ www_host }}"
|
||||
- "{{ cms_host }}"
|
||||
|
||||
- name: Install mozimo Caddy snippet (web + cms)
|
||||
ansible.builtin.blockinfile:
|
||||
path: "{{ caddyfile_path }}"
|
||||
marker: "# {mark} Ansible managed Caddy snippet (mozimo web + cms)"
|
||||
block: "{{ caddy_snippet_block }}"
|
||||
insertafter: EOF
|
||||
notify: "Reload Caddy"
|
||||
|
||||
Reference in New Issue
Block a user