diff options
author | Patrick Spek <p.spek@tyil.nl> | 2023-07-31 14:02:02 +0200 |
---|---|---|
committer | Patrick Spek <p.spek@tyil.nl> | 2023-08-01 13:17:48 +0200 |
commit | 9a5279b3309a8553ef87bac2c8f3de91aa67855b (patch) | |
tree | 85c86d04baf9d7b5fc046fc34b2f525d73c5f612 /playbooks.d | |
parent | adb182b14b81997819fef19b56b8623634b3fb9f (diff) |
Add base playbook for nfs-server
Diffstat (limited to 'playbooks.d')
-rw-r--r-- | playbooks.d/nfs-server/description.txt | 1 | ||||
-rw-r--r-- | playbooks.d/nfs-server/etc/defaults | 3 | ||||
-rw-r--r-- | playbooks.d/nfs-server/etc/os.d/linux-gentoo | 1 | ||||
-rw-r--r-- | playbooks.d/nfs-server/playbook.bash | 40 |
4 files changed, 45 insertions, 0 deletions
diff --git a/playbooks.d/nfs-server/description.txt b/playbooks.d/nfs-server/description.txt new file mode 100644 index 0000000..8e396fe --- /dev/null +++ b/playbooks.d/nfs-server/description.txt @@ -0,0 +1 @@ +A Bashtard playbook to configure a machine as an NFS server diff --git a/playbooks.d/nfs-server/etc/defaults b/playbooks.d/nfs-server/etc/defaults new file mode 100644 index 0000000..f8af32e --- /dev/null +++ b/playbooks.d/nfs-server/etc/defaults @@ -0,0 +1,3 @@ +pkg.nfs-utils=nfs-utils +svc.nfs=nfs-server +svc.rpcbind=rpcbind diff --git a/playbooks.d/nfs-server/etc/os.d/linux-gentoo b/playbooks.d/nfs-server/etc/os.d/linux-gentoo new file mode 100644 index 0000000..a76300d --- /dev/null +++ b/playbooks.d/nfs-server/etc/os.d/linux-gentoo @@ -0,0 +1 @@ +pkg.nfs-utils=net-fs/nfs-utils 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 +} |