Matthias Stecher
dd167f075d
Cause of corrupt databases if the services are restarted incorrectly, the order and dependencies are adjusted. Now, the `netbox-rq` service will be included in restarts of `netbox` and required for the WSGI servers that it must running. For these changes, the restart command of `__netbox` was adjusted. The other ones where edited too, to use the same command. All services now require redis and postgresql to be started before them to prevent any start order issues. If someone asked for what the RQ worker is required, see here: https://netbox.readthedocs.io/en/stable/additional-features/webhooks/#webhook-processing
50 lines
1.4 KiB
Bash
Executable file
50 lines
1.4 KiB
Bash
Executable file
#!/bin/sh -e
|
|
|
|
# control state
|
|
state="$(cat "$__object/parameter/state")"
|
|
|
|
case "$state" in
|
|
# install gunicorn
|
|
enabled|disabled)
|
|
curr_installed="$(cat "$__object/explorer/installed")"
|
|
should_installed="$(cat "$__object/explorer/should_installed")"
|
|
|
|
# gunicorn version change
|
|
if [ "$curr_installed" != "$should_installed" ]; then
|
|
# (re)installing gunicorn
|
|
echo "/opt/netbox/venv/bin/pip3 install 'gunicorn==$should_installed'"
|
|
|
|
if [ "$curr_installed" != "" ]; then
|
|
printf "updated %s to %s\n" "$curr_installed" "$should_installed" \
|
|
>> "$__messages_out"
|
|
else
|
|
printf "installed\n" >> "$__messages_out"
|
|
fi
|
|
do_restart=yes
|
|
fi
|
|
|
|
# configuration changes
|
|
if grep -q "^__file/opt/netbox/gunicorn.py:" "$__messages_in"; then
|
|
do_restart=yes
|
|
printf "configured\n" >> "$__messages_out"
|
|
fi
|
|
|
|
|
|
# restart gunicorn
|
|
if [ "$do_restart" ] && [ "$state" != "disabled" ]; then
|
|
cat << EOF
|
|
# Restart service
|
|
systemctl restart gunicorn-netbox
|
|
EOF
|
|
fi
|
|
;;
|
|
|
|
# uninstall
|
|
absent)
|
|
# check if installed
|
|
if [ -s "$__object/explorer/installed" ]; then
|
|
# service already disabled
|
|
echo "/opt/netbox/venv/bin/pip3 uninstall -y gunicorn"
|
|
printf "uninstalled\n" >> "$__messages_out"
|
|
fi
|
|
esac
|