bundle agent nagios { vars: nagios:: "packages" slist => { "nagios4", "nagios-plugins", "nrpe", }; methods: nagios:: "nagios" usebundle => fcgiwrap("nagios", "www", "770"); "nagios" usebundle => php56(); "nagios" usebundle => nginx("$(sys.inputdir)/templates/nginx/nagios_nginx.conf", "nginx.conf"); "nagios" usebundle => nginx("$(sys.inputdir)/templates/nginx/nagios_htpasswd.cftpl", "htpasswd"); "nagios" usebundle => install_package("$(this.bundle)", "$(nagios.packages)"); "nagios" usebundle => add_rc_conf_line("$(this.bundle)", "nagios_enable=\"YES\""); files: nagios:: "/usr/local/etc/nagios/." create => "true", depth_search => recurse("inf"), perms => og("nagios", "nagios"), copy_from => copyfrom_sync("$(sys.inputdir)/templates/nagios/"), classes => if_repaired("nagios_nagios_dir_repaired"); classes: nagios:: "nagios_service_running" expression => returnszero("/usr/sbin/service nagios status", "noshell"); methods: nagios:: "freebsd" usebundle => add_rc_conf_line("$(this.bundle)", "nagios_enable=\"YES\""); commands: nagios.!nagios_service_running:: "/usr/sbin/service nagios start" classes => if_repaired("nagios_service_repaired"); nagios.nagios_nagios_dir_repaired:: "/usr/sbin/service nagios restart" classes => if_repaired("nagios_service_restarted"); reports: any:: "$(this.bundle): /usr/local/etc/nagios/ directory repaired" ifvarclass => "nagios_nagios_dir_repaired"; "$(this.bundle): /usr/local/etc/nginx/htpasswd file repaired" ifvarclass => "nagios_htpasswd_file_repaired"; "$(this.bundle): nagios service repaired" ifvarclass => "nagios_service_repaired"; "$(this.bundle): nagios service restarted" ifvarclass => "nagios_service_restarted"; }