From 92815a6f76ff751de7a6014e26f46d52eadddc22 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Sat, 30 Jan 2021 19:10:52 +0000 Subject: [PATCH] Add platform-agnostic installation of nebula --- ansible/roles/nebula/handlers/main.yml | 5 ++++ ansible/roles/nebula/tasks/main.yml | 33 +++++++++++++++++++------- ansible/roles/nebula/vars/main.yml | 2 ++ 3 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 ansible/roles/nebula/handlers/main.yml diff --git a/ansible/roles/nebula/handlers/main.yml b/ansible/roles/nebula/handlers/main.yml new file mode 100644 index 0000000..77dcdaf --- /dev/null +++ b/ansible/roles/nebula/handlers/main.yml @@ -0,0 +1,5 @@ +- name: restart nebula + service: + name: nebula + state: reloaded + become: true diff --git a/ansible/roles/nebula/tasks/main.yml b/ansible/roles/nebula/tasks/main.yml index 6206a6c..f09c9c7 100644 --- a/ansible/roles/nebula/tasks/main.yml +++ b/ansible/roles/nebula/tasks/main.yml @@ -1,19 +1,36 @@ -- name: Install Nebula - package: - name: nebula - when: ansible_os_family == 'Archlinux' - become: true - -- name: Create nebula directory +- name: Create config directory file: path: /etc/nebula state: directory mode: "0700" become: true -- name: Install nebula config +- name: Install binaries + unarchive: + src: https://github.com/slackhq/nebula/releases/download/v{{ nebula_version }}/nebula-linux-amd64.tar.gz + dest: /usr/bin + remote_src: yes + mode: "0755" + become: true + notify: restart nebula + +- name: Install config template: src: files/nebula.yml dest: /etc/nebula/config.yml mode: "0600" become: true + notify: restart nebula + +- name: Install service + get_url: + url: https://raw.githubusercontent.com/slackhq/nebula/v{{ nebula_version }}/dist/arch/nebula.service + dest: /usr/lib/systemd/system/nebula.service + mode: '0644' + become: true + +- name: Enable service + service: + name: nebula + enabled: true + become: true diff --git a/ansible/roles/nebula/vars/main.yml b/ansible/roles/nebula/vars/main.yml index bb08500..c3787fb 100644 --- a/ansible/roles/nebula/vars/main.yml +++ b/ansible/roles/nebula/vars/main.yml @@ -1,3 +1,5 @@ nebula_lighthouse_public_ip: "{{ hosts.casey_ip }}" nebula_lighthouse_ip: "{{ nebula.clients.casey.ip }}" nebula_lighthouse_port: 6328 + +nebula_version: 1.3.0