summaryrefslogtreecommitdiff
path: root/pcr/icinga2/icinga2.install
blob: 14ec50e3d0c82afe8f82a5368f38a6cb8ea075a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
}