volumes: generate systemd mount files based on mount type

This commit is contained in:
Girish Ramakrishnan
2021-05-12 18:00:43 -07:00
parent 4c938b5e77
commit 50407eba0b
14 changed files with 281 additions and 41 deletions
+30
View File
@@ -0,0 +1,30 @@
#!/bin/bash
set -eu -o pipefail
if [[ ${EUID} -ne 0 ]]; then
echo "This script should be run as root." > /dev/stderr
exit 1
fi
if [[ $# -eq 0 ]]; then
echo "No arguments supplied"
exit 1
fi
if [[ "$1" == "--check" ]]; then
echo "OK"
exit 0
fi
mount_file_contents="$1"
# mount units must be named after the mount point directories they control
where=$(echo "${mount_file_contents}" | grep "^Where=" | cut -d'=' -f 2)
mount_filename=$(systemd-escape -p --suffix=mount "$where")
echo "$mount_file_contents" > "/etc/systemd/system/${mount_filename}"
systemctl daemon-reload
systemctl enable --no-block --now "${mount_filename}" || true
+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
set -eu -o pipefail
if [[ ${EUID} -ne 0 ]]; then
echo "This script should be run as root." > /dev/stderr
exit 1
fi
if [[ $# -eq 0 ]]; then
echo "No arguments supplied"
exit 1
fi
if [[ "$1" == "--check" ]]; then
echo "OK"
exit 0
fi
where="$1"
mount_filename=$(systemd-escape -p --suffix=mount "$where")
systemctl stop "${mount_filename}" || true
rm -f "/etc/systemd/system/${mount_filename}"
systemctl daemon-reload