chore: add traefik deployment and config generation
This commit is contained in:
parent
aca6e8dac2
commit
5c5a0e9d51
6 changed files with 155 additions and 1 deletions
|
|
@ -1,3 +1,57 @@
|
|||
#SPDX-License-Identifier: MIT-0
|
||||
---
|
||||
# tasks file for reverseproxy
|
||||
|
||||
- name: Gather service information from all hosts
|
||||
setup:
|
||||
delegate_to: "{{ item }}"
|
||||
delegate_facts: true
|
||||
loop: "{{ groups['all_servers'] }}"
|
||||
|
||||
- name: Build service registry from all hosts
|
||||
set_fact:
|
||||
all_services: "{{ all_services | default([]) + hostvars[item].services | default([]) | map('combine', {'backend_host': item}) | list }}"
|
||||
loop: "{{ groups['all_servers'] }}"
|
||||
|
||||
- name: Debug service registry
|
||||
debug:
|
||||
var: all_services
|
||||
|
||||
- name: Create docker compose directory
|
||||
file:
|
||||
path: "{{ docker_compose_dir }}"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Create docker volume directories
|
||||
file:
|
||||
path: "{{ docker_volume_dir }}/traefik/{{ item }}"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
loop:
|
||||
- letsencrypt
|
||||
|
||||
- name: Generate traefik static configuration
|
||||
template:
|
||||
src: traefik.yml.j2
|
||||
dest: "{{ docker_compose_dir }}/traefik.yml"
|
||||
mode: '0644'
|
||||
notify: restart traefik
|
||||
|
||||
- name: Generate traefik services configuration for discovered services
|
||||
template:
|
||||
src: services.yml.j2
|
||||
dest: "{{ docker_compose_dir }}/services.yml"
|
||||
mode: '0644'
|
||||
notify: restart traefik
|
||||
|
||||
- name: Create docker-compose file for traefik
|
||||
template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: "{{ docker_compose_dir }}/docker-compose.yml"
|
||||
mode: '0644'
|
||||
|
||||
- name: Start traefik container
|
||||
docker_compose:
|
||||
project_src: "{{ docker_compose_dir }}"
|
||||
state: present
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue