template "/etc/systemd/network/wireguard.netdev" do
source "wireguard.netdev.erb"
owner "root"
- group "root"
- mode "644"
+ group "systemd-network"
+ mode "640"
end
template "/etc/systemd/network/wireguard.network" do
Kind=wireguard
[WireGuard]
+<% if node[:lsb][:release].to_f < 20.04 -%>
+PrivateKey=<%= IO.read("/var/lib/systemd/wireguard/private.key").chomp %>
+<% else -%>
PrivateKeyFile=/var/lib/systemd/wireguard/private.key
+<% end -%>
ListenPort=51820
<% node[:networking][:wireguard][:peers].each do |peer| -%>
[WireGuardPeer]
PublicKey=<%= peer[:public_key] %>
+<% if node[:lsb][:release].to_f < 20.04 -%>
+PresharedKey=<%= IO.read("/var/lib/systemd/wireguard/preshared.key").chomp %>
+<% else -%>
PresharedKeyFile=/var/lib/systemd/wireguard/preshared.key
+<% end -%>
AllowedIPs=<%= Array(peer[:allowed_ips]).sort.join(",") %>
<% if peer[:endpoint] -%>
Endpoint=<%= peer[:endpoint] %>