Group/host variable refactor

This commit is contained in:
Sonny Bakker 2025-03-15 00:05:30 +01:00
parent eb308670cc
commit 4b8aaf3e95
78 changed files with 445 additions and 374 deletions

View file

@ -3,67 +3,25 @@
# using `wg set wg0 peer izHzmRwh2yzICps6pFI2Bg3TnmTD66/8uH4loJpkuD4= endpoint <NEW-IP>:<PORT>`
# for example.
- name: Create Wireguard directories
- name: Copy firewall template
become: true
ansible.builtin.file:
path: '{{ item }}'
ansible.builtin.template:
src: "{{ lookup('ansible.builtin.first_found', paths) }}"
dest: '/etc/nftables.conf'
owner: root
group: systemd-network
mode: '0750'
state: directory
recurse: true
loop:
- '{{ vpn_config_dir }}'
- '{{ vpn_default.private_key_path | dirname }}'
- '{{ vpn_default.public_key_path | dirname }}'
- '{{ vpn_media.private_key_path | dirname }}'
- '{{ vpn_media.public_key_path | dirname }}'
notify:
- restart systemd-networkd
- restart systemd-resolved
- name: Copy Wireguard credentials
become: true
ansible.builtin.copy:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
owner: root
group: systemd-network
mode: '0640'
loop:
- dest: '{{ vpn_default.public_key_path }}'
src: 'files/{{ platform }}/wireguard/default/{{ platform }}.pub'
- dest: '{{ vpn_default.private_key_path }}'
src: 'files/{{ platform }}/wireguard/default/{{ platform }}.key'
- dest: '{{ vpn_media.public_key_path }}'
src: 'files/{{ platform }}/wireguard/media/{{ platform }}.pub'
- dest: '{{ vpn_media.private_key_path }}'
src: 'files/{{ platform }}/wireguard/media/{{ platform }}.key'
notify:
- restart systemd-networkd
- restart systemd-resolved
- name: Copy Wireguard preshared keys
become: true
ansible.builtin.copy:
src: '{{ item.preshared_key_source_path }}'
dest: '{{ item.preshared_key_path }}'
owner: root
group: systemd-network
mode: '0640'
loop: '{{ vpn_default.peers + vpn_media.peers }}'
notify:
- restart systemd-networkd
- restart systemd-resolved
group: root
mode: '0600'
vars:
paths:
- 'templates/{{ ansible_hostname }}/nftables.j2'
- 'templates/{{ group_names[0] }}/{{ ansible_hostname }}/nftables.j2'
notify: restart nftables
- name: Desktop configuration
notify:
- restart systemd-networkd
- restart systemd-resolved
when: platform == "desktop"
when: ansible_hostname == 'desktop'
block:
- name: Setup network configuration
become: true
@ -74,21 +32,9 @@
group: systemd-network
mode: '0640'
loop:
- src: 'templates/desktop/network/enp.network.j2'
- src: 'templates/personal/desktop/network/enp.network.j2'
dest: '/etc/systemd/network/20-wired.network'
- src: 'templates/desktop/network/wg0.network.j2'
dest: '/etc/systemd/network/40-wg0.network'
- src: 'templates/desktop/network/wg0.netdev.j2'
dest: '/etc/systemd/network/40-wg0.netdev'
- src: 'templates/desktop/network/wg1.network.j2'
dest: '/etc/systemd/network/40-wg1.network'
- src: 'templates/desktop/network/wg1.netdev.j2'
dest: '/etc/systemd/network/40-wg1.netdev'
- name: Remove leftover configuration files
become: true
ansible.builtin.file:
@ -98,12 +44,12 @@
- '/etc/systemd/network/30-vmbr0.network'
- '/etc/systemd/network/30-vmbr0.netdev'
- name: Laptop configuration
- name: XPS configuration
notify:
- restart systemd-networkd
- restart systemd-resolved
- restart iwd
when: platform == "laptop"
when: ansible_hostname == 'xps'
block:
- name: Setup network configuration
become: true
@ -114,21 +60,9 @@
group: systemd-network
mode: '0640'
loop:
- src: 'templates/laptop/network/wireless.network.j2'
- src: 'templates/personal/xps/network/wireless.network.j2'
dest: '/etc/systemd/network/20-wireless.network'
- src: 'templates/laptop/network/wg0.network.j2'
dest: '/etc/systemd/network/40-wg0.network'
- src: 'templates/laptop/network/wg0.netdev.j2'
dest: '/etc/systemd/network/40-wg0.netdev'
- src: 'templates/laptop/network/wg1.network.j2'
dest: '/etc/systemd/network/40-wg1.network'
- src: 'templates/laptop/network/wg1.netdev.j2'
dest: '/etc/systemd/network/40-wg1.netdev'
- name: Remove leftover configuration files
become: true
ansible.builtin.file:
@ -137,13 +71,3 @@
loop:
- '/etc/systemd/network/30-vmbr0.network'
- '/etc/systemd/network/30-vmbr0.netdev'
- name: Copy firewall template
become: true
ansible.builtin.template:
src: 'templates/{{ platform }}/nftables.j2'
dest: '/etc/nftables.conf'
owner: root
group: root
mode: '0600'
notify: restart nftables