post_install() { /usr/bin/getent group icinga &> /dev/null || /usr/bin/groupadd -r icinga &> /dev/null /usr/bin/getent group icingacmd &> /dev/null || /usr/bin/groupadd -r icingacmd &> /dev/null /usr/bin/getent passwd icinga &> /dev/null || /usr/bin/useradd -r -c "icinga" -M -d /var/spool/icinga2 -g icinga -G icingacmd -s /usr/bin/nologin icinga &> /dev/null /usr/bin/chown -R icinga:icinga \ /etc/icinga2 \ /var/lib/icinga2 \ /var/spool/icinga2 /usr/bin/chown -R icinga:icingacmd \ /var/cache/icinga2 \ /var/log/icinga2 /usr/bin/systemd-tmpfiles --create icinga2.conf /usr/bin/icinga2 feature enable checker &> /dev/null /usr/bin/icinga2 feature enable mainlog &> /dev/null /usr/bin/icinga2 feature enable notification &> /dev/null } pre_remove() { [ -f "/etc/icinga2/features-enabled/checker.conf" ] && /usr/bin/icinga2 feature disable checker &> /dev/null [ -f "/etc/icinga2/features-enabled/mainlog.conf" ] && /usr/bin/icinga2 feature disable mainlog &> /dev/null [ -f "/etc/icinga2/features-enabled/notification.conf" ] && /usr/bin/icinga2 feature disable notification &> /dev/null } post_remove() { /usr/bin/getent passwd icinga &> /dev/null && /usr/bin/userdel icinga &> /dev/null /usr/bin/getent group icinga &> /dev/null && /usr/bin/groupdel icinga &> /dev/null /usr/bin/getent group icingacmd &> /dev/null && /usr/bin/groupdel icingacmd &> /dev/null } post_upgrade() { if [[ "$(vercmp "$2" '2.8.0')" -lt 0 ]]; then cat << EOF ==> Icinga version 2.8.0 requires an DB IDO schema upgrade and uses new paths ==> for certificates. Check the upgrading instructions for details: ==> https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/#upgrading-to-v28 EOF fi }