Files
Nebula-Ansible-Role/tasks/nebula.yml
2022-02-04 20:04:51 -06:00

43 lines
1.2 KiB
YAML

- name: Ensure /opt/nebula directory exists
file:
path: /opt/nebula
state: directory
mode: '0700'
owner: root
group: root
- name: Check for existing Nebula install
stat:
path: '/opt/nebula/nebula'
register: installed_nebula_stats
- name: Get Nebula version (if installed)
command: "/opt/nebula/nebula -version"
register: installed_nebula_version_out
changed_when: False
failed_when: False
when: installed_nebula_stats.stat.exists
- name: Extract Nebula version from command output
set_fact:
installed_nebula_version: "{{ installed_nebula_version_out.stdout.split(' ')[1] }}"
when: installed_nebula_stats.stat.exists
- name: Download & Extract Nebula
unarchive:
src: "https://github.com/slackhq/nebula/releases/download/v{{ nebula_version }}/nebula-linux-{{ nebula_architectures[ansible_architecture] }}.tar.gz"
dest: "/opt/nebula"
remote_src: yes
when: (installed_nebula_version|default(nebula_version) != nebula_version) or (not installed_nebula_stats.stat.exists)
notify: restart nebula
- name: Ensure Nebula binaries permissions are correct
file:
path: "/opt/nebula/{{ item }}"
owner: root
group: root
mode: '0700'
with_items:
- nebula
- nebula-cert