feat: deployable playbook
This commit is contained in:
parent
f8e1de4f0a
commit
7ab2b719dc
23 changed files with 754 additions and 176 deletions
101
roles/traefik/tasks/main.yml
Normal file
101
roles/traefik/tasks/main.yml
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
---
|
||||
- name: Create Traefik installation directory
|
||||
file:
|
||||
path: "{{ traefik_install_dir }}"
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0755'
|
||||
tags:
|
||||
- traefik-deploy
|
||||
- directories
|
||||
|
||||
- name: Create Traefik data directory
|
||||
file:
|
||||
path: "{{ traefik_data_dir }}"
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0755'
|
||||
tags:
|
||||
- traefik-deploy
|
||||
- directories
|
||||
|
||||
- name: Create Traefik config directory
|
||||
file:
|
||||
path: "{{ traefik_config_dir }}"
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0755'
|
||||
tags:
|
||||
- traefik-deploy
|
||||
- directories
|
||||
|
||||
- name: Create ACME storage file
|
||||
file:
|
||||
path: "{{ traefik_data_dir }}/acme.json"
|
||||
state: touch
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0600'
|
||||
tags:
|
||||
- traefik-deploy
|
||||
- config
|
||||
|
||||
- name: Download custom root CA certificate
|
||||
get_url:
|
||||
url: "{{ traefik_custom_ca_url }}"
|
||||
dest: "{{ traefik_custom_ca_path }}"
|
||||
mode: '0644'
|
||||
owner: root
|
||||
group: root
|
||||
validate_certs: "{{ traefik_custom_ca_verify_ssl }}"
|
||||
timeout: 30
|
||||
when: traefik_custom_ca_enabled | default(false) and traefik_custom_ca_url | default('') != ''
|
||||
notify: restart traefik
|
||||
tags:
|
||||
- traefik-deploy
|
||||
- custom-ca
|
||||
|
||||
- name: Create Traefik static configuration
|
||||
template:
|
||||
src: traefik.yml.j2
|
||||
dest: "{{ traefik_config_dir }}/traefik.yml"
|
||||
mode: '0644'
|
||||
notify: restart traefik
|
||||
tags:
|
||||
- traefik-deploy
|
||||
- config
|
||||
|
||||
- name: Create Traefik Docker Compose file
|
||||
template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: "{{ traefik_install_dir }}/docker-compose.yml"
|
||||
mode: '0644'
|
||||
notify: restart traefik
|
||||
tags:
|
||||
- traefik-deploy
|
||||
- config
|
||||
|
||||
- name: Start Traefik services
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ traefik_install_dir }}"
|
||||
state: present
|
||||
tags:
|
||||
- traefik-deploy
|
||||
- docker-start
|
||||
|
||||
- name: Wait for Traefik to be ready
|
||||
uri:
|
||||
url: "https://traefik.{{ traefik_domain | default('localhost') }}/api/rawdata"
|
||||
method: GET
|
||||
status_code: 200
|
||||
ca_path: "{{ traefik_custom_ca_path }}"
|
||||
register: traefik_ready
|
||||
until: traefik_ready.status == 200
|
||||
retries: 30
|
||||
delay: 5
|
||||
tags:
|
||||
- traefik-deploy
|
||||
- health-check
|
||||
Loading…
Add table
Add a link
Reference in a new issue