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', } directories[f'/srv/backups/{nodename}/backups'] = { 'owner': config['user'], 'mode': '0700', }