bundles/samba: add code to show up as time machine backup target

This commit is contained in:
Franzi 2024-12-22 20:20:20 +01:00
parent 91432197e8
commit ab717f62e7
Signed by: kunsi
GPG key ID: 12E3D2136B818350
4 changed files with 102 additions and 0 deletions

View file

@ -24,3 +24,30 @@ def firewall(metadata):
},
},
}
@metadata_reactor.provides(
'zfs/datasets',
)
def timemachine_zfs(metadata):
shares = metadata.get('samba/timemachine-shares', set())
if not shares:
return {}
assert node.has_bundle('zfs'), f'{node.name}: time machine backups require zfs'
datasets = {
'tank/timemachine': {},
}
for share_name in shares:
datasets[f'tank/timemachine/{share_name}'] = {
'mountpoint': f'/srv/timemachine/{share_name}',
}
return {
'zfs': {
'datasets': datasets,
},
}