58 lines
1.4 KiB
YAML
58 lines
1.4 KiB
YAML
|
---
|
||
|
- name: Create Cloudlfared group
|
||
|
become: yes
|
||
|
group:
|
||
|
name: cloudflared
|
||
|
state: present
|
||
|
- name: Create Cloudflared user
|
||
|
become: yes
|
||
|
user:
|
||
|
name: cloudflared
|
||
|
system: yes
|
||
|
password: '!'
|
||
|
shell: /bin/false
|
||
|
create_home: yes
|
||
|
home: /etc/cloudflared
|
||
|
- name: Upload config file
|
||
|
become: yes
|
||
|
copy:
|
||
|
src: config.yml
|
||
|
dest: /etc/cloudflared/config.yml
|
||
|
owner: cloudflared
|
||
|
group: cloudflared
|
||
|
mode: 0640
|
||
|
- name: Upload the credentials file
|
||
|
become: yes
|
||
|
template:
|
||
|
src: "{{ tunnel_id }}.json"
|
||
|
dest: /etc/cloudflared/{{ tunnel_id }}.json
|
||
|
owner: cloudflared
|
||
|
group: cloudflared
|
||
|
mode: 0640
|
||
|
- name: Download Cloudflared binary
|
||
|
become: yes
|
||
|
get_url:
|
||
|
url: https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
|
||
|
dest: /etc/cloudflared/bin/cloudflared
|
||
|
owner: cloudflared
|
||
|
group: cloudflared
|
||
|
mode: '0760'
|
||
|
- name: Check if the Cloudflared service is already installed
|
||
|
become: yes
|
||
|
stat:
|
||
|
path: /etc/systemd/system/cloudflared.service
|
||
|
register: cloudflared_exists
|
||
|
- name: Install the Cloudflared service
|
||
|
become: yes
|
||
|
when: not cloudflared_exists.stat.exists
|
||
|
environment:
|
||
|
PATH: /etc/cloudflared/bin:{{ ansible_env.PATH }}
|
||
|
command:
|
||
|
cmd: cloudflared service install
|
||
|
- name: Start cloudflared
|
||
|
become: yes
|
||
|
systemd:
|
||
|
name: cloudflared
|
||
|
state: restarted
|
||
|
|