exec { 'iptables-allow-http':
path => '/bin:/usr/bin:/sbin:/usr/sbin',
- unless => 'grep -Fxqe "-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT" /etc/sysconfig/iptables',
+ unless => 'grep -Fxqe "-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT" /etc/sysconfig/iptables',
command => 'lokkit --enabled --service=http'
}
class icinga-classicui {
include icinga-rpm-snapshot
+ include icinga2
# workaround for package conflicts
# icinga-gui pulls icinga-gui-config automatically
require => [ Class['apache'], Group['icingacmd'] ]
}
- exec { 'enable-icinga2-features':
- path => '/bin:/usr/bin:/sbin:/usr/sbin',
- command => 'i2enfeature statusdat; \
- i2enfeature compat-log; \
- i2enfeature command;',
- require => [ Package['icinga2'] ],
- notify => Service['icinga2']
- }
+ icinga2::feature { 'statusdat': }
+
+ icinga2::feature { 'command': }
+
+ icinga2::feature { 'compat-log': }
}
class icinga-web {
include icinga-rpm-snapshot
include icinga2-ido-mysql
+ include mysql
php::extension { ['php-mysql']:
require => [ Class['mysql'] ]
command => 'mysql -uicinga_web -picinga_web icinga_web < /usr/share/icinga-web/etc/schema/mysql.sql',
require => [ Package['icinga-web'], Exec['create-mysql-icinga-web-db'] ]
}
-}
\ No newline at end of file
+}
notify => Service['icinga2']
}
- exec { 'enable-icinga2-ido-mysql':
- path => '/bin:/usr/bin:/sbin:/usr/sbin',
- command => 'i2enfeature ido-mysql;',
- require => [ Package['icinga2'], Exec['populate-icinga2-ido-mysql-db'] ],
- notify => Service['icinga2']
- }
-
exec { 'create-mysql-icinga2-ido-db':
path => '/bin:/usr/bin:/sbin:/usr/sbin',
unless => 'mysql -uicinga -picinga icinga',
command => 'mysql -uicinga -picinga icinga < /usr/share/doc/icinga2-ido-mysql-$(rpm -q icinga2-ido-mysql | cut -d\'-\' -f4)/schema/mysql.sql',
require => [ Package['icinga2-ido-mysql'], Exec['create-mysql-icinga2-ido-db'] ]
}
+
+ icinga2::feature { 'ido-mysql':
+ require => Exec['create-mysql-icinga2-ido-db']
+ }
}
#class icinga2-ido-pgsql {
# php::extension { ['php-pgsql']:
# require => [ Class['pgsql'] ]
# }
-#}
\ No newline at end of file
+#}
+
+define icinga2::feature ($feature = $title) {
+ exec { "icinga2-feature-${feature}":
+ path => '/bin:/usr/bin:/sbin:/usr/sbin',
+ unless => "readlink /etc/icinga2/features-enabled/${feature}.conf",
+ command => "i2enfeature ${feature}",
+ require => [ Package['icinga2'] ],
+ notify => Service['icinga2']
+ }
+}