assert node.has_bundle('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', }, }