fix: only execute systemd stuff on deployment for relevant services

This commit is contained in:
Benjamin Labrecque
2026-08-27 12:35:09 +02:00
parent 5409590d21
commit cae8d5767a
+18 -15
View File
@@ -51,23 +51,26 @@ if [ -n "${AGEBD_ENV_SUFFIX_UPPER}" ]; then
done
fi
### SYSTEMD
if [ -f "${SYSTEMD_UNIT_FILE_PATH}" ]; then
sed -i "s/{{ *agebd_env* }}/${AGEBD_ENV}/g" "${SYSTEMD_UNIT_FILE_PATH}"
fi
mkdir -p ${HOME}/.config/systemd/user
ln -sf "${SYSTEMD_UNIT_FILE_PATH}" "${HOME}/.config/systemd/user/${SYSTEMD_UNIT_NAME}"
VERSION_DEPLOYED_PV="AGEBD-ALH${AGEBD_ENV_SUFFIX_UPPER}:${SERVICE_NAME_UPPER}-VERSION-DEPLOYED"
echo "Putting ${NOW} in ${VERSION_DEPLOYED_PV}"
caput "${VERSION_DEPLOYED_PV}" "${NOW}"
if [ "$DO_RESTART_SERVICE" ]; then
echo "Enabling and restarting systemd service ${SYSTEMD_UNIT_NAME}"
export XDG_RUNTIME_DIR="/run/user/$(id -u)"
systemctl --user daemon-reload
systemctl --user enable "${SYSTEMD_UNIT_NAME}"
systemctl --user restart "${SYSTEMD_UNIT_NAME}"
### SYSTEMD
# Not every service has a systemd unit (e.g. IOC-only services like params) -
# skip enabling/restarting entirely when there's nothing to enable/restart.
if [ -f "${SYSTEMD_UNIT_FILE_PATH}" ]; then
sed -i "s/{{ *agebd_env* }}/${AGEBD_ENV}/g" "${SYSTEMD_UNIT_FILE_PATH}"
mkdir -p ${HOME}/.config/systemd/user
ln -sf "${SYSTEMD_UNIT_FILE_PATH}" "${HOME}/.config/systemd/user/${SYSTEMD_UNIT_NAME}"
if [ "$DO_RESTART_SERVICE" ]; then
echo "Enabling and restarting systemd service ${SYSTEMD_UNIT_NAME}"
export XDG_RUNTIME_DIR="/run/user/$(id -u)"
systemctl --user daemon-reload
systemctl --user enable "${SYSTEMD_UNIT_NAME}"
systemctl --user restart "${SYSTEMD_UNIT_NAME}"
fi
else
echo "No systemd unit for ${SERVICE_NAME_LOWER}, skipping enable/restart"
fi