37 lines
1.1 KiB
YAML
37 lines
1.1 KiB
YAML
---
|
|
- name: Ensure 'caddy' container is connected to netbird_net
|
|
community.docker.docker_network:
|
|
name: netbird_net
|
|
state: present
|
|
connected:
|
|
- caddy
|
|
appends: true
|
|
|
|
- name: Read current Caddyfile
|
|
ansible.builtin.slurp:
|
|
path: "/var/lib/caddy/conf/Caddyfile"
|
|
register: caddy_caddyfile_raw
|
|
ignore_errors: true
|
|
|
|
- name: Decode Caddyfile content
|
|
ansible.builtin.set_fact:
|
|
caddy_caddyfile_content: "{{ caddy_caddyfile_raw['content'] | b64decode }}"
|
|
|
|
- name: Read snippet from template file
|
|
ansible.builtin.set_fact:
|
|
caddy_netbird_caddy_snippet: "{{ lookup('template', 'files/Caddyfile.j2') }}"
|
|
|
|
- name: Check if Netbird snippet already exists
|
|
ansible.builtin.set_fact:
|
|
caddy_snippet_present: "{{ caddy_netbird_caddy_snippet in caddy_caddyfile_content }}"
|
|
|
|
- name: Add Netbird snippet to Caddyfile
|
|
ansible.builtin.blockinfile:
|
|
path: "/var/lib/caddy/conf/Caddyfile"
|
|
marker: "# {mark} Ansible managed Caddy snippet for Netbird"
|
|
block: "{{ caddy_netbird_caddy_snippet }}"
|
|
create: true
|
|
mode: "0644"
|
|
when: not caddy_snippet_present
|
|
notify: Reload Caddy
|