You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
algo/roles/wireguard/tasks/main.yml

70 lines
1.5 KiB
YAML

---
- name: WireGuard repository configured
apt_repository:
repo: ppa:wireguard/wireguard
state: present
register: result
until: result is succeeded
retries: 10
delay: 3
- name: WireGuard installed
apt:
name: wireguard
state: present
update_cache: true
- name: Configure unattended-upgrades
copy:
src: 50-wireguard-unattended-upgrades
dest: /etc/apt/apt.conf.d/50-wireguard-unattended-upgrades
owner: root
group: root
mode: 0644
- name: Ensure the required directories exist
file:
dest: "{{ wireguard_config_path }}/{{ item }}"
state: directory
recurse: true
with_items:
- private
- public
delegate_to: localhost
become: false
- name: Generate keys
import_tasks: keys.yml
tags: update-users
- name: WireGuard configured
template:
src: server.conf.j2
dest: "/etc/wireguard/{{ wireguard_interface }}.conf"
mode: "0600"
notify: restart wireguard
tags: update-users
- name: WireGuard reload-module-on-update
file:
dest: /etc/wireguard/.reload-module-on-update
state: touch
- name: WireGuard users config generated
template:
src: client.conf.j2
dest: "{{ wireguard_config_path }}/{{ item.1 }}.conf"
mode: "0600"
with_indexed_items: "{{ users }}"
tags: update-users
delegate_to: localhost
become: false
- name: WireGuard enabled and started
service:
name: "wg-quick@{{ wireguard_interface }}"
state: started
enabled: true
- meta: flush_handlers