46 lines
1.4 KiB
YAML
46 lines
1.4 KiB
YAML
---
|
|
- name: Load distro-specific variables
|
|
ansible.builtin.include_vars: "{{ item }}"
|
|
tags: always
|
|
with_first_found:
|
|
- files:
|
|
- "{{ ansible_facts['distribution'] }}.yaml"
|
|
skip: true
|
|
|
|
- name: Ensure cloudflared is running and configured on this device
|
|
block:
|
|
- name: Ensure presense of folders for cloudflared
|
|
tags: packages,docker,cloudflared
|
|
ansible.builtin.file:
|
|
path: /opt/cloudflared
|
|
state: directory
|
|
recurse: true
|
|
owner: 1000
|
|
group: 1000
|
|
mode: "0644"
|
|
- name: Ensure compose files are properly loaded on the server
|
|
tags: packages,docker,cloudflared
|
|
ansible.builtin.copy:
|
|
src: "docker-compose.yaml"
|
|
dest: "/opt/cloudflared/docker-compose.yaml"
|
|
owner: 1000
|
|
group: 1000
|
|
mode: u=rw,g=r,o=r
|
|
- name: Ensure environment file is available on the server
|
|
tags: packages,cloudflared
|
|
ansible.builtin.template:
|
|
src: env.j2
|
|
dest: /opt/cloudflared/.env
|
|
owner: 1000
|
|
group: 1000
|
|
mode: "0600"
|
|
- name: Ensure docker containers are pulled and running
|
|
tags: packages,docker,cloudflared
|
|
community.docker.docker_compose_v2:
|
|
project_src: /opt/cloudflared
|
|
pull: policy
|
|
|
|
rescue:
|
|
- name: Set that this task failed # noqa: var-naming[no-role-prefix]
|
|
ansible.builtin.set_fact:
|
|
task_failed: true
|