auto-generate full wireguard mesh between all nodes in libs.s2s.WG_AUTOGEN_NODES

This commit is contained in:
Franzi 2023-09-23 15:06:16 +02:00
parent e9f3268e15
commit 07de570175
Signed by: kunsi
GPG key ID: 12E3D2136B818350
4 changed files with 28 additions and 13 deletions

View file

@ -36,11 +36,37 @@ if node.has_bundle('telegraf'):
}
@metadata_reactor.provides(
'wireguard/peers',
)
def peers_auto_full_mesh(metadata):
peers = {}
for rnode in repo.libs.s2s.WG_AUTOGEN_NODES:
if rnode is None or rnode == node.name:
continue
try:
rnode = repo.get_node(rnode)
except NoSuchNode:
continue
if rnode.dummy:
continue
peers[rnode.name] = {}
return {
'wireguard': {
'peers': peers,
},
}
@metadata_reactor.provides(
'wireguard/peers',
)
def peer_psks_and_iface_names(metadata):
def peer_psks(metadata):
peers = {}
for peer_name in metadata.get('wireguard/peers', {}):