diff --git a/src/run.sh b/src/run.sh index 365517a..75a1b91 100755 --- a/src/run.sh +++ b/src/run.sh @@ -40,6 +40,7 @@ fi version="$(git rev-parse HEAD)"; last_version=""; if [[ -r "/etc/sbrl-provisioning-commitid.txt" ]]; then + #shellcheck disable=SC2034 last_version="$(cat "/etc/sbrl-provisioning-commitid.txt")"; fi diff --git a/src/steps-config/15-nfs.sh b/src/steps-config/15-nfs.sh new file mode 100644 index 0000000..1108d9e --- /dev/null +++ b/src/steps-config/15-nfs.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +queue_apt_install "nfs-common"; diff --git a/src/steps-postinstall/20-collectd.sh b/src/steps-postinstall/20-collectd.sh index ccb891d..33383b4 100755 --- a/src/steps-postinstall/20-collectd.sh +++ b/src/steps-postinstall/20-collectd.sh @@ -10,6 +10,7 @@ subtask_end "$?"; # If there's an existing config file and we haven't completed provisioning at # least once yet, move it aside as a backup +#shellcheck disable=SC2154 if [[ -r "/etc/collectd/collectd.conf" ]] && [[ -z "${last_version}" ]]; then subtask_begin "Moving existing config file aside"; mv "${collectd_conf_target}" "${collectd_conf_target}.bak-$(date +%Y-%m-%d)"; diff --git a/src/steps-postinstall/20-nfs.sh b/src/steps-postinstall/20-nfs.sh new file mode 100644 index 0000000..802167d --- /dev/null +++ b/src/steps-postinstall/20-nfs.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +# $1 Thing to mount +# $2 Path to mount it to +add_nfs_mount() { + source="${1}"; + target="${2}"; + + task_begin "NFS mount ${source} → ${target}"; + # 1: Remove any old entries from /etc/fstab + sed -i "/^$(echo "${source}" | awk '{gsub("/", "\\/", $0); print($0); }')\s/d" /etc/fstab + + # 2: Append the new entry + echo "${source} ${target} nfs auto,nofail,noatime,_netdev,tcp,bg,timeo=50,retrans=5 0 0" >>/etc/fstab; + + # 3: Create the target mount point & mount + mkdir -p "${target}"; + mount "${target}"; + + task_end "$?"; +} + +add_nfs_mount "magicbag.node.mooncarrot.space:/mnt/elfstone2/cluster" "/mnt/shared"; +add_nfs_mount "magicbag.node.mooncarrot.space:/mnt/elfstone2/main /mnt/elfstone" "/mnt/elfstone"; +add_nfs_mount "magicbag.node.mooncarrot.space:/mnt/elfstone2/syncthing" "/mnt/elessar-syncthing";