Compare commits
No commits in common. "178c812a7cca17fa2e8c60527198d0f0d728e08e" and "1dc6fab755783e62fc5beaf84cfb4405fa69e573" have entirely different histories.
178c812a7c
...
1dc6fab755
4 changed files with 26 additions and 45 deletions
|
|
@ -4,21 +4,20 @@ from bundlewrap.repo import Repository
|
||||||
from os.path import realpath, dirname
|
from os.path import realpath, dirname
|
||||||
from sys import argv
|
from sys import argv
|
||||||
from ipaddress import ip_network, ip_interface
|
from ipaddress import ip_network, ip_interface
|
||||||
import argparse
|
|
||||||
|
|
||||||
|
if len(argv) != 3:
|
||||||
|
print(f'usage: {argv[0]} <node> <client>')
|
||||||
|
exit(1)
|
||||||
|
|
||||||
# get info from repo
|
|
||||||
repo = Repository(dirname(dirname(realpath(__file__))))
|
repo = Repository(dirname(dirname(realpath(__file__))))
|
||||||
server_node = repo.get_node('htz.mails')
|
server_node = repo.get_node(argv[1])
|
||||||
available_clients = server_node.metadata.get('wireguard/clients').keys()
|
|
||||||
|
|
||||||
# parse args
|
if argv[2] not in server_node.metadata.get('wireguard/clients'):
|
||||||
parser = argparse.ArgumentParser(description='Generate WireGuard client configuration.')
|
print(f'client {argv[2]} not found in: {server_node.metadata.get("wireguard/clients").keys()}')
|
||||||
parser.add_argument('client', choices=available_clients, help='The client name to generate the configuration for.')
|
exit(1)
|
||||||
args = parser.parse_args()
|
|
||||||
|
data = server_node.metadata.get(f'wireguard/clients/{argv[2]}')
|
||||||
|
|
||||||
# get cert
|
|
||||||
data = server_node.metadata.get(f'wireguard/clients/{args.client}')
|
|
||||||
vpn_network = ip_interface(server_node.metadata.get('wireguard/my_ip')).network
|
vpn_network = ip_interface(server_node.metadata.get('wireguard/my_ip')).network
|
||||||
allowed_ips = [
|
allowed_ips = [
|
||||||
vpn_network,
|
vpn_network,
|
||||||
|
|
@ -44,15 +43,10 @@ Endpoint = {ip_interface(server_node.metadata.get('network/external/ipv4')).ip}:
|
||||||
PersistentKeepalive = 10
|
PersistentKeepalive = 10
|
||||||
'''
|
'''
|
||||||
|
|
||||||
answer = input("print config or qrcode? [Cq]: ").strip().upper()
|
print('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
|
||||||
match answer:
|
print(conf)
|
||||||
case '' | 'C':
|
print('<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<')
|
||||||
print('>>>>>>>>>>>>>>>')
|
|
||||||
print(conf)
|
if input("print qrcode? [Yn]: ").upper() in ['', 'Y']:
|
||||||
print('<<<<<<<<<<<<<<<')
|
|
||||||
case 'Q':
|
|
||||||
import pyqrcode
|
import pyqrcode
|
||||||
print(pyqrcode.create(conf).terminal(quiet_zone=1))
|
print(pyqrcode.create(conf).terminal(quiet_zone=1))
|
||||||
case _:
|
|
||||||
print(f'Invalid option "{answer}".')
|
|
||||||
exit(1)
|
|
||||||
|
|
@ -181,13 +181,6 @@ def routeros_monitoring_telegraf_inputs(metadata):
|
||||||
"is_tag": True,
|
"is_tag": True,
|
||||||
},
|
},
|
||||||
|
|
||||||
# join IF-MIB for better labels
|
|
||||||
{
|
|
||||||
"name": "ifAlias",
|
|
||||||
"oid": "IF-MIB::ifAlias",
|
|
||||||
"is_tag": True,
|
|
||||||
},
|
|
||||||
|
|
||||||
# =========================
|
# =========================
|
||||||
# Physical layer (L1/L2)
|
# Physical layer (L1/L2)
|
||||||
# =========================
|
# =========================
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,6 @@ from(bucket: "${bucket}")
|
||||||
% endif
|
% endif
|
||||||
% if function == 'derivative':
|
% if function == 'derivative':
|
||||||
|> derivative(nonNegative: true)
|
|> derivative(nonNegative: true)
|
||||||
% elif function == 'difference':
|
|
||||||
|> difference(nonNegative: true)
|
|
||||||
% endif
|
% endif
|
||||||
% if boolean_to_int:
|
% if boolean_to_int:
|
||||||
|> map(fn: (r) => ({r with _value: if r._value == true then 1 else 0 }))
|
|> map(fn: (r) => ({r with _value: if r._value == true then 1 else 0 }))
|
||||||
|
|
|
||||||
|
|
@ -11,12 +11,11 @@
|
||||||
],
|
],
|
||||||
'operating_system': 'routeros',
|
'operating_system': 'routeros',
|
||||||
},
|
},
|
||||||
'function': 'difference',
|
'function': 'derivative',
|
||||||
'over': 0,
|
|
||||||
},
|
},
|
||||||
'mikrotik': {
|
'mikrotik': {
|
||||||
'filters': {
|
'filters': {
|
||||||
'_measurement': 'interface_errors',
|
'_measurement': 'interface_mikrotik',
|
||||||
'_field': [
|
'_field': [
|
||||||
'rx_fcs_errors',
|
'rx_fcs_errors',
|
||||||
'rx_align_errors',
|
'rx_align_errors',
|
||||||
|
|
@ -31,14 +30,13 @@
|
||||||
],
|
],
|
||||||
'operating_system': 'routeros',
|
'operating_system': 'routeros',
|
||||||
},
|
},
|
||||||
'function': 'difference',
|
'function': 'derivative',
|
||||||
'over': 0,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'min': 0,
|
'min': 0,
|
||||||
'unit': 'cps',
|
'unit': 'pps',
|
||||||
'tooltip': 'multi',
|
'tooltip': 'multi',
|
||||||
'display_name': '${__field.name} ${__field.labels.ifName} ${__field.labels.ifAlias}',
|
'display_name': '${__field.name} ${__field.labels.ifName}',
|
||||||
'legend': {
|
'legend': {
|
||||||
'displayMode': 'table',
|
'displayMode': 'table',
|
||||||
'placement': 'right',
|
'placement': 'right',
|
||||||
|
|
@ -59,12 +57,11 @@
|
||||||
],
|
],
|
||||||
'operating_system': 'routeros',
|
'operating_system': 'routeros',
|
||||||
},
|
},
|
||||||
'function': 'difference',
|
'function': 'derivative',
|
||||||
'over': 0,
|
|
||||||
},
|
},
|
||||||
'mikrotik': {
|
'mikrotik': {
|
||||||
'filters': {
|
'filters': {
|
||||||
'_measurement': 'interface_errors',
|
'_measurement': 'interface_mikrotik',
|
||||||
'_field': [
|
'_field': [
|
||||||
'rx_too_short',
|
'rx_too_short',
|
||||||
'rx_too_long',
|
'rx_too_long',
|
||||||
|
|
@ -78,14 +75,13 @@
|
||||||
],
|
],
|
||||||
'operating_system': 'routeros',
|
'operating_system': 'routeros',
|
||||||
},
|
},
|
||||||
'function': 'difference',
|
'function': 'derivative',
|
||||||
'over': 0,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'min': 0,
|
'min': 0,
|
||||||
'unit': 'cps',
|
'unit': 'pps',
|
||||||
'tooltip': 'multi',
|
'tooltip': 'multi',
|
||||||
'display_name': '${__field.name} ${__field.labels.ifName} ${__field.labels.ifAlias}',
|
'display_name': '${__field.name} ${__field.labels.ifName}',
|
||||||
'legend': {
|
'legend': {
|
||||||
'displayMode': 'table',
|
'displayMode': 'table',
|
||||||
'placement': 'right',
|
'placement': 'right',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue