aboutsummaryrefslogtreecommitdiffstats
path: root/roles/wireguard/tasks/main.yml
blob: 5b489984dda7167fae456f4669c68cdd1e8dfb62 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

# wireguard ~~ roles/wireguard/tasks/main.yml
# create keys and configuration for wireguard hosts

---

- name: set local directory for wireguard output
  set_fact:
    wg_dir: "{{ inventory_dir }}/files/wireguard"

- name: set local config files for wireguard output
  set_fact:
    wg_dcontroller_conf: "{{ wg_dir }}/{{ global.dcontroller }}.conf"
    wg_dcontroller_keys: "{{ wg_dir }}/{{ global.dcontroller }}.keys"
    wg_host_conf: "{{ wg_dir }}/{{ ansible_host }}.conf"
    wg_host_keys: "{{ wg_dir }}/{{ ansible_host }}.keys"

- name: include configuration generation
  include_tasks: generate.yml

- name: include configuration synchronization
  include_tasks: synchronize.yml

- name: enable wireguard for freebsd
  lineinfile:
    path: /etc/rc.conf
    regexp: "^wireguard_enable"
    line: wireguard_enable="YES"
  when: ansible_distribution == "FreeBSD"

- name: enable interface for freebsd
  lineinfile:
    path: /etc/rc.conf
    regexp: "^wireguard_interfaces"
    line: wireguard_interfaces="{{ global.dcontroller }}"
  when: ansible_distribution == "FreeBSd"

- name: generate and enable init script
  include_role: name=rc
  vars:
    rc_cmd: "{{ path_wgquick }}"
    rc_args: "up {{ global.dcontroller }}"
    rc_name: wireguard
    rc_user: "{{ user_root }}"
  ignore_errors: true
  when: ansible_distribution != "FreeBSD"

- name: include server setup
  include_tasks: server.yml
  when: ansible_host == global.dcontroller
remember that computers suck.