bundles/nfs-server: add avahi config
This commit is contained in:
parent
2b0e559f6c
commit
ae07976439
4 changed files with 45 additions and 20 deletions
10
bundles/nfs-server/files/avahi.service
Normal file
10
bundles/nfs-server/files/avahi.service
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" standalone='no'?>
|
||||||
|
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
|
||||||
|
<service-group>
|
||||||
|
<name replace-wildcards="yes">NFS ${path} on %h</name>
|
||||||
|
<service>
|
||||||
|
<type>_nfs._tcp</type>
|
||||||
|
<port>2049</port>
|
||||||
|
<txt-record>path=${path}</txt-record>
|
||||||
|
</service>
|
||||||
|
</service-group>
|
|
@ -1,4 +1,4 @@
|
||||||
% for path, shares in sorted(node.metadata['nfs-server']['shares'].items()):
|
% for path, shares in sorted(node.metadata.get('nfs-server/shares', {}).items()):
|
||||||
% for share_target, share_options in sorted(shares.items()):
|
% for share_target, share_options in sorted(shares.items()):
|
||||||
% for ip_list in repo.libs.tools.resolve_identifier(repo, share_target).values():
|
% for ip_list in repo.libs.tools.resolve_identifier(repo, share_target).values():
|
||||||
% for ip in sorted(ip_list):
|
% for ip in sorted(ip_list):
|
||||||
|
|
|
@ -1,25 +1,40 @@
|
||||||
files = {
|
from re import sub
|
||||||
'/etc/exports': {
|
|
||||||
'content_type': 'mako',
|
files['/etc/exports'] = {
|
||||||
'triggers': {
|
'content_type': 'mako',
|
||||||
'action:nfs_reload_shares',
|
'triggers': {
|
||||||
},
|
'action:nfs_reload_shares',
|
||||||
},
|
|
||||||
'/etc/default/nfs-kernel-server': {
|
|
||||||
'source': 'etc-default',
|
|
||||||
'triggers': {
|
|
||||||
'svc_systemd:nfs-server:restart',
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
actions = {
|
files['/etc/default/nfs-kernel-server'] = {
|
||||||
'nfs_reload_shares': {
|
'source': 'etc-default',
|
||||||
'command': 'exportfs -a',
|
'triggers': {
|
||||||
'triggered': True,
|
'svc_systemd:nfs-server:restart',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
svc_systemd = {
|
actions['nfs_reload_shares'] = {
|
||||||
'nfs-server': {},
|
'command': 'exportfs -a',
|
||||||
|
'triggered': True,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
svc_systemd['nfs-server'] = {}
|
||||||
|
|
||||||
|
if node.has_bundle('avahi-daemon'):
|
||||||
|
for path, shares in node.metadata.get('nfs-server/shares', {}).items():
|
||||||
|
create_avahi_file = False
|
||||||
|
for share_target, share_options in shares.items():
|
||||||
|
if ',insecure,' in f',{share_options},':
|
||||||
|
create_avahi_file = True
|
||||||
|
|
||||||
|
if create_avahi_file:
|
||||||
|
share_name_normalized = sub('[^a-z0-9-_]+', '_', path)
|
||||||
|
|
||||||
|
files[f'/etc/avahi/services/nfs{share_name_normalized}.service'] = {
|
||||||
|
'source': 'avahi.service',
|
||||||
|
'content_type': 'mako',
|
||||||
|
'context': {
|
||||||
|
'path': path,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
|
@ -141,7 +141,7 @@ nodes['home.nas'] = {
|
||||||
'home.downloadhelper': 'rw,all_squash,anonuid=65534,anongid=1012,no_subtree_check',
|
'home.downloadhelper': 'rw,all_squash,anonuid=65534,anongid=1012,no_subtree_check',
|
||||||
},
|
},
|
||||||
'/storage/nas': {
|
'/storage/nas': {
|
||||||
'172.19.138.0/24': 'ro,all_squash,anonuid=65534,anongid=65534,no_subtree_check',
|
'172.19.138.0/24': 'ro,all_squash,anonuid=65534,anongid=65534,no_subtree_check,insecure',
|
||||||
},
|
},
|
||||||
'/srv/paperless': {
|
'/srv/paperless': {
|
||||||
'home.paperless': 'rw,all_squash,anonuid=65534,anongid=65534,no_subtree_check',
|
'home.paperless': 'rw,all_squash,anonuid=65534,anongid=65534,no_subtree_check',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue