Compare commits
2 commits
d2f8df88bf
...
89861bd898
Author | SHA1 | Date | |
---|---|---|---|
89861bd898 | |||
3256329064 |
4 changed files with 92 additions and 1 deletions
|
@ -17,7 +17,7 @@ svc_systemd['grafana-server'] = {
|
|||
admin_password = node.metadata.get('grafana/config/security/admin_password')
|
||||
port = node.metadata.get('grafana/config/server/http_port')
|
||||
actions['reset_grafana_admin_password'] = {
|
||||
'command': f"grafana-cli admin reset-admin-password {quote(admin_password)}",
|
||||
'command': f"sleep 5 && grafana-cli admin reset-admin-password {quote(admin_password)}",
|
||||
'unless': f"curl http://admin:{quote(admin_password)}@localhost:{port}/api/org",
|
||||
'needs': [
|
||||
'svc_systemd:grafana-server',
|
||||
|
|
13
bundles/iperf3/items.py
Normal file
13
bundles/iperf3/items.py
Normal file
|
@ -0,0 +1,13 @@
|
|||
# directories = {
|
||||
# '/etc/iperf3': {
|
||||
# 'purge': True,
|
||||
# }
|
||||
# }
|
||||
|
||||
# files = {
|
||||
# '/etc/iperf3/authorized_users': {
|
||||
# 'content': '\n'.join(
|
||||
# node.metadata.get('iperf3/authorized_users')
|
||||
# )
|
||||
# },
|
||||
# }
|
77
bundles/iperf3/metadata.py
Normal file
77
bundles/iperf3/metadata.py
Normal file
|
@ -0,0 +1,77 @@
|
|||
from hashlib import sha256
|
||||
|
||||
|
||||
defaults = {
|
||||
'apt': {
|
||||
'packages': {
|
||||
'iperf3': {},
|
||||
'iperf': {
|
||||
'installed': False,
|
||||
},
|
||||
}
|
||||
},
|
||||
# 'iperf3': {
|
||||
# 'username': node.name,
|
||||
# 'password': repo.vault.password_for(f'{node.name} iperf3').value,
|
||||
# 'authorized_users': {},
|
||||
# },
|
||||
'nftables': {
|
||||
'input': {
|
||||
'tcp dport 5202 ip saddr 10.0.0.0/8 accept',
|
||||
'udp dport 5202 ip saddr 10.0.0.0/8 accept',
|
||||
},
|
||||
},
|
||||
'systemd': {
|
||||
'units': {
|
||||
'iperf3.service': {
|
||||
'Unit': {
|
||||
'Description': 'iperf3 server',
|
||||
'After': {
|
||||
'syslog.target',
|
||||
'network.target',
|
||||
},
|
||||
},
|
||||
'Service': {
|
||||
# 'ExecStart': '/usr/bin/iperf3 --server --port 5202 --authorized-users-path /etc/iperf3/authorized_users',
|
||||
'ExecStart': '/usr/bin/iperf3 --server --port 5202',
|
||||
},
|
||||
'Install': {
|
||||
'WantedBy': {
|
||||
'multi-user.target',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
'services': {
|
||||
'iperf3.service': {},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
# @metadata_reactor.provides(
|
||||
# 'iperf3/hash',
|
||||
# )
|
||||
# def hash(metadata):
|
||||
# username, password = metadata.get('iperf3/username'), metadata.get('iperf3/password')
|
||||
|
||||
# return {
|
||||
# 'iperf3': {
|
||||
# 'hash': sha256(f'{{{username}}}{password}'.encode()).hexdigest(),
|
||||
# },
|
||||
# }
|
||||
|
||||
|
||||
# @metadata_reactor.provides(
|
||||
# 'iperf3/authorized_users',
|
||||
# )
|
||||
# def iperf3(metadata):
|
||||
# return {
|
||||
# 'iperf3': {
|
||||
# 'authorized_users': set(
|
||||
# f"{other_node.metadata.get('iperf3/username')},{other_node.metadata.get('iperf3/hash')}"
|
||||
# for other_node in repo.nodes
|
||||
# if other_node.has_bundle('iperf3')
|
||||
# ),
|
||||
# },
|
||||
# }
|
|
@ -6,6 +6,7 @@
|
|||
'apt',
|
||||
'nftables',
|
||||
'pip',
|
||||
'iperf3',
|
||||
],
|
||||
'metadata': {
|
||||
'apt': {
|
||||
|
|
Loading…
Reference in a new issue