diff --git a/etc/CMakeLists.txt b/etc/CMakeLists.txt index 00c07c9c2..99a3bba62 100644 --- a/etc/CMakeLists.txt +++ b/etc/CMakeLists.txt @@ -22,6 +22,7 @@ configure_file(icinga/icinga-classic-apache.conf.cmake ${CMAKE_CURRENT_BINARY_DI install_if_not_exists(icinga2/icinga2.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2) install_if_not_exists(icinga2/conf.d/generic-host.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/conf.d) install_if_not_exists(icinga2/conf.d/generic-service.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/conf.d) +install_if_not_exists(icinga2/conf.d/generic-user.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/conf.d) install_if_not_exists(icinga2/conf.d/groups.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/conf.d) install_if_not_exists(icinga2/conf.d/localhost.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/conf.d) install_if_not_exists(icinga2/conf.d/macros.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/conf.d) diff --git a/etc/icinga2/conf.d/generic-user.conf b/etc/icinga2/conf.d/generic-user.conf new file mode 100644 index 000000000..f25e2f745 --- /dev/null +++ b/etc/icinga2/conf.d/generic-user.conf @@ -0,0 +1,22 @@ +/** + * Provides default settings for users. By convention + * all users should inherit from this template. + */ + +template User "generic-user" { + enable_notifications = 1, + notification_period = "24x7", + + notification_state_filter = (StateFilterWarning | + StateFilterCritical | + StateFilterUnknown), + notification_type_filter = (NotificationFilterProblem | + NotificationFilterAcknowledgement | + NotificationFilterRecovery | + NotificationFilterCustom | + NotificationFilterFlappingStart | + NotificationFilterFlappingEnd | + NotificationFilterDowntimeStart | + NotificationFilterDowntimeEnd | + NotificationFilterDowntimeRemoved) +} diff --git a/etc/icinga2/conf.d/users.conf b/etc/icinga2/conf.d/users.conf index b80107993..953a9b903 100644 --- a/etc/icinga2/conf.d/users.conf +++ b/etc/icinga2/conf.d/users.conf @@ -3,26 +3,10 @@ * group 'icingaadmins'. */ -object User "icingaadmin" { +object User "icingaadmin" inherits "generic-user" { display_name = "Icinga 2 Admin", groups = [ "icingaadmins" ], - enable_notifications = 1, - notification_period = "24x7", - - notification_state_filter = (StateFilterWarning | - StateFilterCritical | - StateFilterUnknown), - notification_type_filter = (NotificationFilterProblem | - NotificationFilterAcknowledgement | - NotificationFilterRecovery | - NotificationFilterCustom | - NotificationFilterFlappingStart | - NotificationFilterFlappingEnd | - NotificationFilterDowntimeStart | - NotificationFilterDowntimeEnd | - NotificationFilterDowntimeRemoved), - macros = { "name" = "Icinga 2 Admin", "email" = "icinga@localhost",