summaryrefslogtreecommitdiff
path: root/playbooks.d/nfs-server/playbook.bash
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks.d/nfs-server/playbook.bash')
-rw-r--r--playbooks.d/nfs-server/playbook.bash40
1 files changed, 40 insertions, 0 deletions
diff --git a/playbooks.d/nfs-server/playbook.bash b/playbooks.d/nfs-server/playbook.bash
new file mode 100644
index 0000000..91efec2
--- /dev/null
+++ b/playbooks.d/nfs-server/playbook.bash
@@ -0,0 +1,40 @@
+#!/usr/bin/env bash
+
+playbook_add() {
+ pkg install nfs-utils
+
+ touch /etc/exports
+
+ playbook_sync
+
+ svc enable nfs
+ svc enable rpcbind
+
+ svc start nfs
+ svc start rpcbind
+}
+
+playbook_sync() {
+ local buffer="$(tmpfile)"
+ local hash="$(file_hash /etc/exports)"
+
+ # TODO: Write the config file!
+
+ [[ "$(file_hash "$buffer")" == "$hash" ]] && return
+
+ mv -- "$buffer" "/etc/exports"
+
+ [[ "$BASHTARD_ACTION" == "add" ]] && return
+
+ exportfs -rv
+}
+
+playbook_del() {
+ svc stop rpcbind
+ svc stop nfs
+
+ svc disable rpcbind
+ svc disable nfs
+
+ pkg uninstall nfs-utils
+}