#!/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