From 28d802e0ebcf6d192ac398a6b64be2760d7ba2a4 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Fri, 17 Jul 2026 15:40:59 +0200 Subject: Add cloudflare tunnel configurations --- roles/cloudflared/tasks/install-alpine.yml | 32 +++++++++++++++++++++++++++ roles/cloudflared/tasks/install-archlinux.yml | 23 +++++++++++++++++++ roles/cloudflared/tasks/install-debian.yml | 23 +++++++++++++++++++ roles/cloudflared/tasks/main.yml | 7 ++++++ 4 files changed, 85 insertions(+) create mode 100644 roles/cloudflared/tasks/install-alpine.yml create mode 100644 roles/cloudflared/tasks/install-archlinux.yml create mode 100644 roles/cloudflared/tasks/install-debian.yml create mode 100644 roles/cloudflared/tasks/main.yml (limited to 'roles/cloudflared/tasks') diff --git a/roles/cloudflared/tasks/install-alpine.yml b/roles/cloudflared/tasks/install-alpine.yml new file mode 100644 index 00000000..28437fc9 --- /dev/null +++ b/roles/cloudflared/tasks/install-alpine.yml @@ -0,0 +1,32 @@ +--- +- name: "Check if cloudflared binary exists" + ansible.builtin.stat: + path: "/usr/local/bin/cloudflared" + register: cloudflared_binary + +- name: "Download cloudflared binary" + become: true + ansible.builtin.get_url: + url: "https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64" + dest: "/usr/local/bin/cloudflared" + mode: "0755" + owner: "root" + group: "root" + when: not cloudflared_binary.stat.exists + +- name: "Deploy cloudflared OpenRC service" + become: true + ansible.builtin.template: + src: "cloudflared.initd.j2" + dest: "/etc/init.d/cloudflared" + owner: "root" + group: "root" + mode: "0755" + notify: "Restart cloudflared" + +- name: "Start and enable cloudflared" + become: true + ansible.builtin.service: + name: "cloudflared" + state: "started" + enabled: true diff --git a/roles/cloudflared/tasks/install-archlinux.yml b/roles/cloudflared/tasks/install-archlinux.yml new file mode 100644 index 00000000..5d122644 --- /dev/null +++ b/roles/cloudflared/tasks/install-archlinux.yml @@ -0,0 +1,23 @@ +--- +- name: "Install cloudflared" + become: true + ansible.builtin.package: + name: "cloudflared" + state: "present" + +- name: "Deploy cloudflared systemd service" + become: true + ansible.builtin.template: + src: "cloudflared.service.j2" + dest: "/etc/systemd/system/cloudflared.service" + owner: "root" + group: "root" + mode: "0644" + notify: "Restart cloudflared" + +- name: "Start and enable cloudflared" + become: true + ansible.builtin.service: + name: "cloudflared" + state: "started" + enabled: true diff --git a/roles/cloudflared/tasks/install-debian.yml b/roles/cloudflared/tasks/install-debian.yml new file mode 100644 index 00000000..5d122644 --- /dev/null +++ b/roles/cloudflared/tasks/install-debian.yml @@ -0,0 +1,23 @@ +--- +- name: "Install cloudflared" + become: true + ansible.builtin.package: + name: "cloudflared" + state: "present" + +- name: "Deploy cloudflared systemd service" + become: true + ansible.builtin.template: + src: "cloudflared.service.j2" + dest: "/etc/systemd/system/cloudflared.service" + owner: "root" + group: "root" + mode: "0644" + notify: "Restart cloudflared" + +- name: "Start and enable cloudflared" + become: true + ansible.builtin.service: + name: "cloudflared" + state: "started" + enabled: true diff --git a/roles/cloudflared/tasks/main.yml b/roles/cloudflared/tasks/main.yml new file mode 100644 index 00000000..e4a3b36e --- /dev/null +++ b/roles/cloudflared/tasks/main.yml @@ -0,0 +1,7 @@ +--- +- name: "Skip if tunnel token not defined" + when: cloudflared_tunnel_token is not defined + ansible.builtin.meta: end_role + +- name: "Include OS-specific installation tasks" + ansible.builtin.include_tasks: "install-{{ ansible_facts['os_family'] | lower }}.yml" -- cgit v1.2.3