Add mobile configuration & load keys from paths

This commit is contained in:
sonny 2021-12-31 19:16:00 +01:00
parent 16a979b04b
commit 56331232e6
13 changed files with 106 additions and 183 deletions

View file

@ -1,3 +1,24 @@
- name: load private key into var
set_fact:
vpn_server_key: '{{ lookup("file", "files/wireguard/server.key" ) }}'
- name: load public key into var
set_fact:
vpn_server_public_key: '{{ lookup("file", "files/wireguard/server.pub" ) }}'
# this should eventually be replaced with using the
# PrivateKeyFile/PresharedKeyFile options
- name: load preshared keys into variables
set_fact:
vpn_peers: '{{ vpn_peers | combine({item.key: item.value|combine({"preshared_key": lookup("file", item.value.preshared_key_source_path )})})}}'
with_dict: '{{ vpn_peers }}'
- name: load mobile private_key
set_fact:
vpn_peers: '{{ vpn_peers | combine({item.key: item.value|combine({"private_key": lookup("file", item.value.private_key_source_path )})})}}'
with_dict: '{{ vpn_peers }}'
when: item.key == "mobile"
- name: copy network configuration files
become: true
template:
@ -7,10 +28,7 @@
group: systemd-network
mode: '0640'
loop:
- {
src: 'templates/network/br0.netdev.j2',
dest: '/etc/systemd/network/br0.netdev',
}
- { src: 'templates/network/br0.netdev.j2', dest: '/etc/systemd/network/br0.netdev' }
- {
src: 'templates/network/br0.network.j2',
dest: '/etc/systemd/network/br0.network',
@ -19,15 +37,19 @@
src: 'templates/network/enp5s0.network.j2',
dest: '/etc/systemd/network/enp5s0.network',
}
- {
src: 'templates/network/wg0.netdev.j2',
dest: '/etc/systemd/network/wg0.netdev',
}
- { src: 'templates/network/wg0.netdev.j2', dest: '/etc/systemd/network/wg0.netdev' }
- {
src: 'templates/network/wg0.network.j2',
dest: '/etc/systemd/network/wg0.network',
}
- name: copy mobile configuration
template:
src: 'mobile.wireguard.j2'
dest: '/tmp/mobile.wireguard.conf'
mode: '0600'
when: copy_mobile_conf
- name: create wireguard directories
become: true
file:
@ -49,24 +71,30 @@
group: systemd-network
mode: '0640'
loop:
- {
src: 'files/wireguard/server.pub',
dest: '{{ vpn_server_public_key_path }}',
}
- {
src: 'files/wireguard/server.key',
dest: '{{ vpn_server_key_path }}',
}
- { src: 'files/wireguard/server.pub', dest: '{{ vpn_server_public_key_path }}' }
- { src: 'files/wireguard/server.key', dest: '{{ vpn_server_key_path }}' }
- name: copy mobile wireguard credentials
become: true
copy:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
owner: root
group: systemd-network
mode: '0640'
loop:
- { src: 'files/wireguard/mobile.pub', dest: '{{ vpn_server_public_key_path }}' }
- { src: 'files/wireguard/mobile.key', dest: '{{ vpn_server_key_path }}' }
- name: copy wireguard preshared keys
become: true
copy:
src: '{{ item.preshared_key_source_path }}'
dest: '{{ item.preshared_key_path }}'
src: '{{ item.value.preshared_key_source_path }}'
dest: '{{ item.value.preshared_key_path }}'
owner: root
group: systemd-network
mode: '0640'
loop: '{{ vpn_peers }}'
with_dict: '{{ vpn_peers }}'
- name: restart systemd-networkd
become: true