feat(debian) enable module to work on debian (#6)
* feat(debian) enable module to work on debian Add support for Debian based on the documentation in debian wiki and discussion in [0]. [0]: https://github.com/githubixx/ansible-role-wireguard/issues/5 * remove run_once for debian * Install kernel headers on debian There is no equivalent package of linux-headers-generic on debian. Package installation needs to specify the architecture (i.e. amd64), which is captured from dpkg output. * Only use include_tasks to differentiate distributions Before Archlinux was split out using ansible_os_family. But since ansible_os_family overlaps for Debian and Ubuntu, two when statements were used to split out these cases: - All arch derivations - Debian - Ubuntu New style is cleaner. Arch derivations can still be used by overiding ansible_distribution in inventory. * incorporate feedback: move pin file, other changed_when syntax
This commit is contained in:
parent
2ef8f8cae4
commit
3a8d3260c4
3
files/debian/etc/apt/preferences.d/limit-unstable
Normal file
3
files/debian/etc/apt/preferences.d/limit-unstable
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Package: *
|
||||||
|
Pin: release a=unstable
|
||||||
|
Pin-Priority: 90
|
|
@ -2,7 +2,7 @@
|
||||||
- name: Gather instance facts
|
- name: Gather instance facts
|
||||||
setup:
|
setup:
|
||||||
|
|
||||||
- include_tasks: "setup-{{ ansible_os_family|lower }}.yml"
|
- include_tasks: "setup-{{ ansible_distribution|lower }}.yml"
|
||||||
|
|
||||||
- name: Install WireGuard
|
- name: Install WireGuard
|
||||||
package:
|
package:
|
||||||
|
|
|
@ -1,26 +1,37 @@
|
||||||
---
|
---
|
||||||
- name: Update APT package cache
|
- name: Setup WireGuard preference
|
||||||
apt:
|
copy:
|
||||||
update_cache: true
|
src: debian/etc/apt/preferences.d/limit-unstable
|
||||||
cache_valid_time: 3600
|
dest: /etc/apt/preferences.d/limit-unstable
|
||||||
when: ansible_distribution == "Ubuntu"
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0644
|
||||||
tags:
|
tags:
|
||||||
- wg-install
|
- wg-install
|
||||||
|
|
||||||
- name: Install required packages
|
- name: Add WireGuard key
|
||||||
package:
|
apt_key:
|
||||||
name: "{{ item }}"
|
keyserver: "keyserver.ubuntu.com"
|
||||||
|
id: "8B48AD6246925553"
|
||||||
state: present
|
state: present
|
||||||
with_items:
|
|
||||||
- software-properties-common
|
|
||||||
- linux-headers-{{ ansible_kernel }}
|
|
||||||
tags:
|
tags:
|
||||||
- wg-install
|
- wg-install
|
||||||
|
|
||||||
- name: Add WireGuard repository
|
- name: Add WireGuard repository
|
||||||
apt_repository:
|
apt_repository:
|
||||||
repo: "ppa:wireguard/wireguard"
|
repo: "deb http://deb.debian.org/debian/ unstable main"
|
||||||
state: present
|
state: present
|
||||||
update_cache: yes
|
update_cache: yes
|
||||||
tags:
|
tags:
|
||||||
- wg-install
|
- wg-install
|
||||||
|
|
||||||
|
- name: Get architecture
|
||||||
|
shell: dpkg --print-architecture
|
||||||
|
register: dpkg_arch
|
||||||
|
changed_when: False
|
||||||
|
|
||||||
|
- name: Install kernel headers to compile wireguard with DKMS
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- "linux-headers-{{ dpkg_arch.stdout }}"
|
||||||
|
state: present
|
||||||
|
|
25
tasks/setup-ubuntu.yml
Normal file
25
tasks/setup-ubuntu.yml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
---
|
||||||
|
- name: Update APT package cache
|
||||||
|
apt:
|
||||||
|
update_cache: true
|
||||||
|
cache_valid_time: 3600
|
||||||
|
tags:
|
||||||
|
- wg-install
|
||||||
|
|
||||||
|
- name: Install required packages
|
||||||
|
package:
|
||||||
|
name: "{{ item }}"
|
||||||
|
state: present
|
||||||
|
with_items:
|
||||||
|
- software-properties-common
|
||||||
|
- linux-headers-{{ ansible_kernel }}
|
||||||
|
tags:
|
||||||
|
- wg-install
|
||||||
|
|
||||||
|
- name: Add WireGuard repository
|
||||||
|
apt_repository:
|
||||||
|
repo: "ppa:wireguard/wireguard"
|
||||||
|
state: present
|
||||||
|
update_cache: yes
|
||||||
|
tags:
|
||||||
|
- wg-install
|
Reference in a new issue