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 syntaxunmanaged-hosts
parent
2ef8f8cae4
commit
3a8d3260c4
@ -0,0 +1,3 @@
|
||||
Package: *
|
||||
Pin: release a=unstable
|
||||
Pin-Priority: 90
|
@ -1,26 +1,37 @@
|
||||
---
|
||||
- name: Update APT package cache
|
||||
apt:
|
||||
update_cache: true
|
||||
cache_valid_time: 3600
|
||||
when: ansible_distribution == "Ubuntu"
|
||||
- name: Setup WireGuard preference
|
||||
copy:
|
||||
src: debian/etc/apt/preferences.d/limit-unstable
|
||||
dest: /etc/apt/preferences.d/limit-unstable
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
tags:
|
||||
- wg-install
|
||||
|
||||
- name: Install required packages
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
- name: Add WireGuard key
|
||||
apt_key:
|
||||
keyserver: "keyserver.ubuntu.com"
|
||||
id: "8B48AD6246925553"
|
||||
state: present
|
||||
with_items:
|
||||
- software-properties-common
|
||||
- linux-headers-{{ ansible_kernel }}
|
||||
tags:
|
||||
- wg-install
|
||||
|
||||
- name: Add WireGuard repository
|
||||
apt_repository:
|
||||
repo: "ppa:wireguard/wireguard"
|
||||
repo: "deb http://deb.debian.org/debian/ unstable main"
|
||||
state: present
|
||||
update_cache: yes
|
||||
tags:
|
||||
- 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
|
||||
|
@ -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
|
Loading…
Reference in New Issue