diff --git a/bundles/backup-server/items.py b/bundles/backup-server/items.py index 662b5f7..31d169b 100644 --- a/bundles/backup-server/items.py +++ b/bundles/backup-server/items.py @@ -14,15 +14,9 @@ for nodename, config in node.metadata.get('backup-server/clients', {}).items(): 'content': pubkey, 'owner': config['user'], 'mode': '0400', - 'needs': { - 'bundle:zfs', - }, } directories[f'/srv/backups/{nodename}/backups'] = { 'owner': config['user'], 'mode': '0700', - 'needs': { - 'bundle:zfs', - }, } diff --git a/bundles/element-web/metadata.py b/bundles/element-web/metadata.py index 0ce259a..4276549 100644 --- a/bundles/element-web/metadata.py +++ b/bundles/element-web/metadata.py @@ -3,9 +3,6 @@ defaults = { 'datasets': { 'tank/element-web': { 'mountpoint': '/opt/element-web', - 'needed_by': { - 'directory:/opt/element-web', - }, }, }, }, diff --git a/bundles/gitea/metadata.py b/bundles/gitea/metadata.py index 06556a9..d34fa7a 100644 --- a/bundles/gitea/metadata.py +++ b/bundles/gitea/metadata.py @@ -50,15 +50,9 @@ defaults = { 'tank/gitea': {}, 'tank/gitea/home': { 'mountpoint': '/home/git', - 'needed_by': { - 'directory:/home/git', - }, }, 'tank/gitea/var': { 'mountpoint': '/var/lib/gitea', - 'needed_by': { - 'directory:/var/lib/gitea', - }, }, }, }, diff --git a/bundles/nginx/items.py b/bundles/nginx/items.py index f9191aa..9ecb69d 100644 --- a/bundles/nginx/items.py +++ b/bundles/nginx/items.py @@ -139,14 +139,7 @@ for vhost, config in node.metadata.get('nginx/vhosts', {}).items(): } if not 'webroot' in config: - directories[f'/var/www/{vhost}'] = {} - - if node.has_bundle('zfs'): - directories[f'/var/www/{vhost}']['needs'] = { - 'bundle:zfs', - } - - directories[f'/var/www/{vhost}'].update(config.get('webroot_config', {})) + directories[f'/var/www/{vhost}'] = config.get('webroot_config', {}) if config.get('ssl', 'letsencrypt') == 'letsencrypt': files[f'/etc/nginx/sites/{vhost}']['needs'].add('action:letsencrypt_ensure-some-certificate_{}'.format(config['domain'])) diff --git a/bundles/scansnap/items.py b/bundles/scansnap/items.py index 97bdf55..23f9305 100644 --- a/bundles/scansnap/items.py +++ b/bundles/scansnap/items.py @@ -8,11 +8,6 @@ directories = { }, } -if node.has_bundle('zfs'): - directories['/srv/scansnap']['needs'] = { - 'bundle:zfs', - } - files = { '/etc/scanbd/scanbd.conf': { 'triggers': { diff --git a/items/zfs_dataset.py b/items/zfs_dataset.py index 90a7886..4adce84 100644 --- a/items/zfs_dataset.py +++ b/items/zfs_dataset.py @@ -119,6 +119,14 @@ class ZFSDataset(Item): # XXX Could be optimized by finding the "largest" # parent only. yield item.id + elif self.attributes.get('mountpoint'): + for item_type in ['directory', 'file', 'git_deploy']: + if ( + item.ITEM_TYPE_NAME == item_type and + item.name.startswith('{}:{}'.format(item_type, self.attributes['mountpoint'])) + ): + yield item.id + if not pool_item_found: raise BundleError(_(