diff --git a/bundles/backup-server/items.py b/bundles/backup-server/items.py index 31d169b..bae34a7 100644 --- a/bundles/backup-server/items.py +++ b/bundles/backup-server/items.py @@ -2,6 +2,8 @@ repo.libs.tools.require_bundle(node, 'zfs') from os.path import join +dataset = node.metadata.get('backup-server/zfs-base') + 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() @@ -14,9 +16,15 @@ for nodename, config in node.metadata.get('backup-server/clients', {}).items(): 'content': pubkey, 'owner': config['user'], 'mode': '0400', + 'needs': { + f'zfs_dataset:{dataset}/{nodename}', + }, } directories[f'/srv/backups/{nodename}/backups'] = { 'owner': config['user'], 'mode': '0700', + 'needs': { + f'zfs_dataset:{dataset}/{nodename}', + }, }