bundlewrap/bundles/backup-server/items.py
Franzi f8bbe00d47
All checks were successful
bundlewrap/pipeline/head This commit looks good
overall better handling and usage of exceptions
2021-04-02 18:57:13 +02:00

29 lines
739 B
Python

repo.libs.tools.require_bundle(node, 'zfs')
from os.path import join
for nodename, config in node.metadata.get('backup-server/clients', {}).items():
with open(join(repo.path, 'data', 'backup', 'keys', f'{nodename}.pub'), 'r') as f:
pubkey = f.read().strip()
users[config['user']] = {
'home': f'/srv/backups/{nodename}',
}
files[f'/srv/backups/{nodename}/.ssh/authorized_keys'] = {
'content': pubkey,
'owner': config['user'],
'mode': '0400',
'needs': {
'bundle:zfs',
},
}
directories[f'/srv/backups/{nodename}/backups'] = {
'owner': config['user'],
'mode': '0700',
'needs': {
'bundle:zfs',
},
}