Compare commits

..

3 commits

Author SHA1 Message Date
3bcd2be520
netword remove netplan 2025-08-09 21:33:35 +02:00
7eac09e547
ovh.secondary cake 2025-08-09 21:33:26 +02:00
5fb1ee54b9
less annoying root passwords 2025-08-09 21:32:23 +02:00
8 changed files with 27 additions and 10 deletions

View file

@ -25,6 +25,9 @@ files= {
'svc_systemd:systemd-sysctl.service:restart',
],
},
'/etc/modules-load.d/managed.conf': {
'content': '\n'.join(sorted(node.metadata.get('modules-load'))),
}
}
svc_systemd = {

View file

@ -1,3 +1,4 @@
defaults = {
'sysctl': {},
'modules-load': set(),
}

View file

@ -34,10 +34,12 @@ def dhcp(metadata):
@metadata_reactor.provides(
'systemd/units',
'modules-load',
)
def units(metadata):
if node.has_bundle('systemd-networkd'):
units = {}
modules_load = set()
for network_name, network_conf in metadata.get('network').items():
interface_type = network_conf.get('type', None)
@ -96,13 +98,15 @@ def units(metadata):
# cake WIP
# if 'cake' in network_conf:
# units[f'{network_name}.network']['CAKE'] = network_conf['cake']
if 'cake' in network_conf:
units[f'{network_name}.network']['CAKE'] = network_conf['cake']
modules_load.add('sch_cake')
return {
'systemd': {
'units': units,
}
},
'modules-load': modules_load,
}
else:
return {}

View file

@ -1,8 +1,4 @@
files = {
'/etc/modules-load.d/pppoe.conf': {
'content': 'pppoe\npppox\nppp_generic',
'mode': '0644',
},
'/etc/ppp/peers/isp': {
'content_type': 'mako',
'mode': '0644',

View file

@ -4,6 +4,11 @@ defaults = {
'pppoe': {},
},
},
'modules-load': {
'pppoe',
'pppox',
'ppp_generic',
},
'nftables': {
'nat': {
'oifname ppp0 masquerade',

View file

@ -10,6 +10,9 @@ defaults = {
'resolvconf': {
'installed': False,
},
'netplan.io': {
'installed': False,
},
},
},
}

View file

@ -4,7 +4,7 @@ defaults = {
'users': {
'root': {
'home': '/root',
'password': repo.vault.password_for(f'{node.name} user root'),
'password': repo.vault.password_for(f'{node.name} user root', length=24),
},
},
}
@ -49,7 +49,7 @@ def user_defaults(metadata):
if not 'shell' in config:
users[name]['shell'] = '/bin/bash'
if not 'privkey' in users[name] and not 'pubkey' in users[name]:
privkey, pubkey = repo.libs.ssh.generate_ed25519_key_pair(
b64decode(str(repo.vault.random_bytes_as_base64_for(f"{name}@{metadata.get('id')}", length=32)))
@ -57,7 +57,7 @@ def user_defaults(metadata):
users[name]['keytype'] = 'ed25519'
users[name]['privkey'] = privkey
users[name]['pubkey'] = pubkey + f' {name}@{node.name}'
return {
'users': users,
}

View file

@ -17,6 +17,11 @@
'gateway4': '51.68.188.1',
'ipv6': '2001:41d0:701:1100::751a/128',
'gateway6': '2001:41d0:701:1100::1',
'cake': {
'Bandwidth': '350M',
'FlowIsolationMode': 'triple',
'RTTSec': '100ms',
},
},
},
'bind': {