Implements the Caddy reverse proxy role (ADR-024): builds boma/caddy-gandi:latest on-host (caddy-dns/gandi plugin), renders Caddyfile from route catalog, brings Compose project up. Adds community.docker to requirements.yml, production group_vars, and a caddy-image Makefile target. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
---
|
|
- name: Ensure the service directory exists
|
|
ansible.builtin.file:
|
|
path: "{{ reverse_proxy__base_dir }}"
|
|
state: directory
|
|
mode: "0750"
|
|
tags: [config]
|
|
|
|
- name: Copy the Caddy image Dockerfile
|
|
ansible.builtin.copy:
|
|
src: Dockerfile
|
|
dest: "{{ reverse_proxy__base_dir }}/Dockerfile"
|
|
mode: "0644"
|
|
register: _caddy_dockerfile
|
|
tags: [config]
|
|
|
|
- name: Render the Caddyfile
|
|
ansible.builtin.template:
|
|
src: Caddyfile.j2
|
|
dest: "{{ reverse_proxy__base_dir }}/Caddyfile"
|
|
mode: "0644"
|
|
tags: [config]
|
|
|
|
- name: Render the env file (Gandi token)
|
|
ansible.builtin.template:
|
|
src: env.j2
|
|
dest: "{{ reverse_proxy__base_dir }}/.env"
|
|
mode: "0600"
|
|
tags: [config]
|
|
|
|
- name: Render the compose file
|
|
ansible.builtin.template:
|
|
src: docker-compose.yml.j2
|
|
dest: "{{ reverse_proxy__base_dir }}/docker-compose.yml"
|
|
mode: "0644"
|
|
tags: [config]
|
|
|
|
- name: Build the custom Caddy image (caddy-dns/gandi) on the host
|
|
community.docker.docker_image:
|
|
name: "{{ reverse_proxy__image }}"
|
|
source: build
|
|
build:
|
|
path: "{{ reverse_proxy__base_dir }}"
|
|
state: present
|
|
force_source: "{{ _caddy_dockerfile.changed }}"
|
|
when: reverse_proxy__manage | bool
|
|
tags: [deploy]
|
|
|
|
- name: Bring the reverse proxy up
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{ reverse_proxy__base_dir }}"
|
|
state: present
|
|
when: reverse_proxy__manage | bool
|
|
tags: [deploy]
|