wip
This commit is contained in:
parent
316d7db89d
commit
d87c77b441
6 changed files with 16 additions and 18 deletions
|
@ -13,7 +13,7 @@ data = server_node.metadata.get(f'wireguard/clients/{argv[1]}')
|
||||||
sortable_client_routes = [
|
sortable_client_routes = [
|
||||||
ip_interface(server_node.metadata.get('network/internal/ipv4')).network,
|
ip_interface(server_node.metadata.get('network/internal/ipv4')).network,
|
||||||
]
|
]
|
||||||
for peer in server_node.metadata.get('wireguard/peers').values():
|
for peer in server_node.metadata.get('wireguard/s2s').values():
|
||||||
for network in peer.get('route'):
|
for network in peer.get('route'):
|
||||||
sortable_client_routes.append(ip_network(network))
|
sortable_client_routes.append(ip_network(network))
|
||||||
|
|
||||||
|
|
|
@ -18,28 +18,28 @@ defaults = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'wireguard': {
|
'wireguard': {
|
||||||
'peers': {},
|
's2s': {},
|
||||||
'clients': {},
|
'clients': {},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
@metadata_reactor.provides(
|
||||||
'wireguard/peers',
|
'wireguard/s2s',
|
||||||
)
|
)
|
||||||
def s2s_peer_specific(metadata):
|
def s2s_peer_specific(metadata):
|
||||||
return {
|
return {
|
||||||
'wireguard': {
|
'wireguard': {
|
||||||
'peers': {
|
's2s': {
|
||||||
peer: {
|
s2s: {
|
||||||
'id': repo.get_node(peer).metadata.get(f'id'),
|
'id': repo.get_node(s2s).metadata.get(f'id'),
|
||||||
'ip': repo.get_node(peer).metadata.get(f'wireguard/my_ip'),
|
'ip': repo.get_node(s2s).metadata.get(f'wireguard/my_ip'),
|
||||||
'endpoint': f'{repo.get_node(peer).hostname}:51820',
|
'endpoint': f'{repo.get_node(s2s).hostname}:51820',
|
||||||
'route': [
|
'route': [
|
||||||
str(ip_interface(repo.get_node(peer).metadata.get(f'wireguard/my_ip')).network),
|
str(ip_interface(repo.get_node(s2s).metadata.get(f'wireguard/my_ip')).network),
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
for peer in metadata.get('wireguard/peers')
|
for s2s in metadata.get('wireguard/s2s')
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -82,9 +82,7 @@ def systemd_networkd_networks(metadata):
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for peer, config in {
|
for peer, config in metadata.get('wireguard/s2s').items():
|
||||||
**metadata.get('wireguard/peers'),
|
|
||||||
}.items():
|
|
||||||
for route in config.get('route', []):
|
for route in config.get('route', []):
|
||||||
network.update({
|
network.update({
|
||||||
f'Route#{peer}_{route}': {
|
f'Route#{peer}_{route}': {
|
||||||
|
@ -119,7 +117,7 @@ def systemd_networkd_netdevs(metadata):
|
||||||
}
|
}
|
||||||
|
|
||||||
for peer, config in {
|
for peer, config in {
|
||||||
**metadata.get('wireguard/peers'),
|
**metadata.get('wireguard/s2s'),
|
||||||
**metadata.get('wireguard/clients'),
|
**metadata.get('wireguard/clients'),
|
||||||
}.items():
|
}.items():
|
||||||
netdev.update({
|
netdev.update({
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
},
|
},
|
||||||
'wireguard': {
|
'wireguard': {
|
||||||
'my_ip': '172.30.0.2/32',
|
'my_ip': '172.30.0.2/32',
|
||||||
'peers': {
|
's2s': {
|
||||||
'htz.mails': {
|
'htz.mails': {
|
||||||
'route': [
|
'route': [
|
||||||
'10.0.10.0/24',
|
'10.0.10.0/24',
|
||||||
|
|
|
@ -141,7 +141,7 @@
|
||||||
},
|
},
|
||||||
'wireguard': {
|
'wireguard': {
|
||||||
'my_ip': '172.30.0.1/24',
|
'my_ip': '172.30.0.1/24',
|
||||||
'peers': {
|
's2s': {
|
||||||
'home.server': {
|
'home.server': {
|
||||||
'route': [
|
'route': [
|
||||||
'10.0.0.0/24',
|
'10.0.0.0/24',
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
# },
|
# },
|
||||||
'wireguard': {
|
'wireguard': {
|
||||||
'my_ip': '172.30.0.3/32',
|
'my_ip': '172.30.0.3/32',
|
||||||
'peers': {
|
's2s': {
|
||||||
'htz.mails': {
|
'htz.mails': {
|
||||||
'route': [
|
'route': [
|
||||||
'10.0.0.0/24',
|
'10.0.0.0/24',
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
},
|
},
|
||||||
'wireguard': {
|
'wireguard': {
|
||||||
'my_ip': '172.30.0.4/32',
|
'my_ip': '172.30.0.4/32',
|
||||||
'peers': {
|
's2s': {
|
||||||
'htz.mails': {
|
'htz.mails': {
|
||||||
'route': [
|
'route': [
|
||||||
'10.0.0.0/24',
|
'10.0.0.0/24',
|
||||||
|
|
Loading…
Reference in a new issue