about summary refs log tree commit diff
path: root/bundles/nfs/items.py
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/nfs/items.py')
-rw-r--r--bundles/nfs/items.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/bundles/nfs/items.py b/bundles/nfs/items.py
new file mode 100644
index 0000000..369dad6
--- /dev/null
+++ b/bundles/nfs/items.py
@@ -0,0 +1,45 @@
+if node.os != "alpine":
+    raise BundleError(f"{node.name}: OS {node.os} is not supported.")
+
+svc_openrc = {
+    "nfs": {
+        "enabled": True,
+        "running": True,
+        "needs": {
+            "pkg_apk:nfs-utils",
+        },
+    }
+}
+
+actions = {
+    "reload_exportfs": {
+        "command": "exportfs -afv",
+        "triggered": True,
+    },
+}
+
+directories = {
+    "/var/nfs": {},
+}
+
+files = {
+    "/etc/exports": {
+        "triggers": {
+            "svc_openrc:nfs:restart",
+            "action:reload_exportfs",
+        },
+    },
+    # "/etc/nftables.d/61-nfs.nft": {
+    #     "source": "nfs.nft",
+    #     "triggers": {"svc_openrc:nftables:restart"},
+    # }
+}
+
+# TODO:
+# https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/storage_administration_guide/s1-nfs-security#s2-nfs-security-files
+# https://overflow.adminforge.de/exchange/serverfault.com/questions/1131152/setup-sso-openldap-kerberos-nfstruenas
+# https://wiki.gentoo.org/wiki/Nfs-utils
+# https://ariq.nauf.al/blog/securely-sharing-storage-with-nfs-and-tailscale/
+# need to configure nfs service to include rpc.idmapd ?
+# https://dhole.github.io/post/nfs_wireguard/
+# https://github.com/xetdata/nfsserve ?