diff --git a/CHANGELOG.md b/CHANGELOG.md index a1df4b7..c56be5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,16 @@ Changelog of Git Changelog.

No issue

+05036af24182601 Jenkins Server 2017-07-20 16:26:40 +

+

recommit for updates in build 12

+ +

+6e251a61a25bb1d Arne Teuke 2017-07-20 16:26:21 +

+

changed wrong refresh

+ +

2d7dc8a5c57ed98 Jenkins Server 2017-07-20 16:21:27

recommit for updates in build 11

diff --git a/README.md b/README.md index fe1c2fd..b35d51f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ |Repo Name| version | Build Status| |---|---|---|---| -|`cd_nagios`| 0.0.0.6 | [![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=cd_nagios)](https://jenkins.confdroid.com/job/cd_nagios/)| +|`cd_nagios`| 0.0.0.7 | [![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=cd_nagios)](https://jenkins.confdroid.com/job/cd_nagios/)| ### Synopsis Nagios is a powerful open source software solution for monitoring your IT environments. diff --git a/REPOSTRUCTURE.md b/REPOSTRUCTURE.md index 4b114a2..1beb036 100644 --- a/REPOSTRUCTURE.md +++ b/REPOSTRUCTURE.md @@ -49,6 +49,8 @@ | |-- init.pp | `-- params.pp |-- templates +| |-- httpd +| | `-- nagios_conf.erb | |-- nagios | | |-- cgi_cfg.erb | | `-- htpasswd_rule.erb @@ -65,4 +67,4 @@ |-- README.md `-- REPOSTRUCTURE.md -15 directories, 50 files +16 directories, 51 files diff --git a/doc/_index.html b/doc/_index.html index af8b856..d2e63bd 100644 --- a/doc/_index.html +++ b/doc/_index.html @@ -176,7 +176,7 @@ diff --git a/doc/file.README.html b/doc/file.README.html index 5eaa169..28d8d06 100644 --- a/doc/file.README.html +++ b/doc/file.README.html @@ -61,7 +61,7 @@

|Repo Name| version | Build Status| |---|---|---|---| -|cd_nagios| 0.0.0.6 | cd_nagios| 0.0.0.7 | {Build Status/]|

@@ -297,7 +297,7 @@ environments.

diff --git a/doc/index.html b/doc/index.html index f7b51d8..4908ecc 100644 --- a/doc/index.html +++ b/doc/index.html @@ -61,7 +61,7 @@

|Repo Name| version | Build Status| |---|---|---|---| -|cd_nagios| 0.0.0.6 | cd_nagios| 0.0.0.7 | {Build Status/]|

@@ -297,7 +297,7 @@ environments.

diff --git a/doc/puppet_classes/cd_nagios.html b/doc/puppet_classes/cd_nagios.html index 65d2d88..f2de14a 100644 --- a/doc/puppet_classes/cd_nagios.html +++ b/doc/puppet_classes/cd_nagios.html @@ -139,7 +139,7 @@ class cd_nagios { diff --git a/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html b/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html index 9a04a35..48a5e95 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html +++ b/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html @@ -207,7 +207,7 @@ class cd_nagios::firewall::iptables ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html index 8745172..099126e 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html +++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html @@ -187,7 +187,7 @@ class cd_nagios::main::config ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html index c57b167..ad0e190 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html +++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html @@ -468,7 +468,7 @@ class cd_nagios::main::dirs ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html index ecae3a3..2ddc17a 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html +++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html @@ -235,7 +235,7 @@ class cd_nagios::main::install ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html index 57220ca..ca960dc 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html +++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html @@ -200,7 +200,7 @@ class cd_nagios::main::user ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Aparams.html b/doc/puppet_classes/cd_nagios_3A_3Aparams.html index 7f654ed..48f6f66 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Aparams.html +++ b/doc/puppet_classes/cd_nagios_3A_3Aparams.html @@ -1803,6 +1803,27 @@ unchecked.

Whether to enable selinux tools and policies. only effective if selinux is enabled.

+ + + + +
  • + + ng_required_hosts + + + (array) + + + (defaults to: ['']) + + + — +
    +

    Array of FQDNs for hosts which should be +allowed/required. every entry in +the array creates a new line in the +configuration file.

  • @@ -1824,9 +1845,6 @@ enabled.

     
     
    -198
    -199
    -200
     201
     202
     203
    @@ -1974,10 +1992,19 @@ enabled.

    345 346 347 -348
    +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 -
    # File 'manifests/params.pp', line 198
    +        
    # File 'manifests/params.pp', line 201
     
     class cd_nagios::params (
     
    @@ -2085,6 +2112,9 @@ $ng_ack_no_send       = '0',
     # selinux
     $ng_use_selinux_tools = true,
     
    +# httpd
    +$ng_required_hosts    = [''],
    +
     ) {
     
     # installation section
    @@ -2100,30 +2130,33 @@ $ng_use_selinux_tools = true,
       }
     
     # service
    -$ng_service       = 'nagios'
    +$ng_service         = 'nagios'
    +$ae_service         = 'httpd'
     
     # directories
    -$ng_main_dir      = '/etc/nagios'
    -$ng_conf_d_dir    = "${ng_main_dir}/conf.d"
    -$ng_objects_dir   = "${ng_main_dir}/objects"
    -$ng_private_dir   = "${ng_main_dir}/private"
    -$ng_usr_incl      = '/usr/include/nagios'
    -$ng_lib_dir       = '/usr/lib64/nagios'
    -$ng_log_dir       = '/var/log/nagios'
    -$ng_log_archives  = "${ng_log_dir}/archives"
    -$ng_spool_dir     = '/var/spool/nagios'
    -$ng_usr_share     = '/usr/share/nagios'
    -$ng_share_html    = "${ng_usr_share}/html"
    +$ng_main_dir        = '/etc/nagios'
    +$ng_conf_d_dir      = "${ng_main_dir}/conf.d"
    +$ng_objects_dir     = "${ng_main_dir}/objects"
    +$ng_private_dir     = "${ng_main_dir}/private"
    +$ng_usr_incl        = '/usr/include/nagios'
    +$ng_lib_dir         = '/usr/lib64/nagios'
    +$ng_log_dir         = '/var/log/nagios'
    +$ng_log_archives    = "${ng_log_dir}/archives"
    +$ng_spool_dir       = '/var/spool/nagios'
    +$ng_usr_share       = '/usr/share/nagios'
    +$ng_share_html      = "${ng_usr_share}/html"
     
     # files
    -$ng_main_config   = "${ng_main_dir}/nagios.cfg"
    -$ng_cgi_cfg_file  = "${ng_main_dir}/cgi.cfg"
    -$ng_cgi_cfg_erb   = 'cd_nagios/nagios/cgi_cfg.erb'
    -$ng_htpasswd_file = "${ng_main_dir}/passwd"
    -$ng_htpasswd_head = 'cd_nagios/nagios/htpasswd_head.erb'
    -$ng_htpasswd_rule = 'cd_nagios/nagios/htpasswd_rule.erb'
    -$ng_taccgi_erb    = 'cd_nagios/selinux/taccgi.erb'
    -$ng_statcgi_erb   = 'cd_nagios/selinux/statuscgi.erb'
    +$ng_main_config     = "${ng_main_dir}/nagios.cfg"
    +$ng_cgi_cfg_file    = "${ng_main_dir}/cgi.cfg"
    +$ng_cgi_cfg_erb     = 'cd_nagios/nagios/cgi_cfg.erb'
    +$ng_htpasswd_file   = "${ng_main_dir}/passwd"
    +$ng_htpasswd_head   = 'cd_nagios/nagios/htpasswd_head.erb'
    +$ng_htpasswd_rule   = 'cd_nagios/nagios/htpasswd_rule.erb'
    +$ng_taccgi_erb      = 'cd_nagios/selinux/taccgi.erb'
    +$ng_statcgi_erb     = 'cd_nagios/selinux/statuscgi.erb'
    +$ng_nagios_conf     = '/etc/httpd/conf.d/nagios.conf'
    +$ng_nagios_conf_erb = 'cd_nagios/httpd/nagios_conf.erb'
     
     # includes must be last
     
    @@ -2137,7 +2170,7 @@ $ng_statcgi_erb   = 'cd_nagios/selinux/statuscgi.erb'
     
     
           
    diff --git a/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html b/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html
    index 8610ee7..9a1c57a 100644
    --- a/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html
    +++ b/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html
    @@ -182,7 +182,8 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.

    73 74 75 -76
    +76 +77
    # File 'manifests/selinux/config.pp', line 24
    @@ -218,7 +219,7 @@ class cd_nagios::selinux::config (
           path        =>  ['/usr/bin','/usr/sbin'],
           cwd         =>  $ng_user_home,
           require     =>  Exec['create_policy_taccgi'],
    -      refreshonly => true,
    +      refreshonly =>  true,
         }
     
         # sealert status.cgi
    @@ -236,7 +237,8 @@ class cd_nagios::selinux::config (
           path        =>  ['/usr/bin','/usr/sbin'],
           cwd         =>  $ng_user_home,
           require     =>  Exec['create_policy_statuscgi'],
    -      refreshonly => true,
    +      refreshonly =>  true,
    +      notify      =>  Service[$ng_service],
         }
       }
     }
    @@ -247,7 +249,7 @@ class cd_nagios::selinux::config ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html index adff29d..a8c85c1 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html +++ b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html @@ -195,7 +195,7 @@ class cd_nagios::server::access_rules ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html index 8cd4a6e..2298ca2 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html +++ b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html @@ -156,7 +156,23 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.

    47 48 49 -50 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66
    # File 'manifests/server/files.pp', line 23
    @@ -187,6 +203,22 @@ class cd_nagios::server::files (
           content   =>  template($ng_cgi_cfg_erb),
           notify    =>  Service[$ng_service],
         }
    +
    +    # manage nagios.conf for httpd
    +
    +    file { $ng_nagios_conf:
    +      ensure    =>  file,
    +      path      =>  $ng_nagios_conf,
    +      owner     =>  'root',
    +      group     =>  'root',
    +      mode      =>  '0644',
    +      selrange  =>  s0,
    +      selrole   =>  object_r,
    +      seltype   =>  httpd_config_t,
    +      seluser   =>  system_u,
    +      content   =>  template($ng_nagios_conf_erb),
    +      notify    =>  Service[$ae_service],
    +    }
       }
     }
    @@ -196,7 +228,7 @@ class cd_nagios::server::files ( diff --git a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html index a863fa3..479b7a6 100644 --- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html +++ b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html @@ -174,7 +174,7 @@ class cd_nagios::server::service ( diff --git a/doc/puppet_defined_types/cd_nagios_3A_3Aserver_3A_3Aaccess.html b/doc/puppet_defined_types/cd_nagios_3A_3Aserver_3A_3Aaccess.html index 5d62b00..ca1b1b1 100644 --- a/doc/puppet_defined_types/cd_nagios_3A_3Aserver_3A_3Aaccess.html +++ b/doc/puppet_defined_types/cd_nagios_3A_3Aserver_3A_3Aaccess.html @@ -209,7 +209,7 @@ $ng_service = $::cd_nagios::params::ng_service diff --git a/doc/top-level-namespace.html b/doc/top-level-namespace.html index 2be2f8d..807736a 100644 --- a/doc/top-level-namespace.html +++ b/doc/top-level-namespace.html @@ -90,7 +90,7 @@ diff --git a/manifests/params.pp b/manifests/params.pp index 79bf349..df74e86 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -194,6 +194,9 @@ # "Send Notification" to be unchecked. # @param [boolean] ng_use_selinux_tools Whether to enable selinux tools and # policies. only effective if selinux is enabled. +# @param [array] ng_required_hosts Array of FQDNs for hosts which should be +# allowed/required. every entry in the array creates a new line in the +# configuration file. ############################################################################### class cd_nagios::params ( @@ -301,6 +304,9 @@ $ng_ack_no_send = '0', # selinux $ng_use_selinux_tools = true, +# httpd +$ng_required_hosts = [''], + ) { # installation section @@ -316,30 +322,33 @@ $ng_use_selinux_tools = true, } # service -$ng_service = 'nagios' +$ng_service = 'nagios' +$ae_service = 'httpd' # directories -$ng_main_dir = '/etc/nagios' -$ng_conf_d_dir = "${ng_main_dir}/conf.d" -$ng_objects_dir = "${ng_main_dir}/objects" -$ng_private_dir = "${ng_main_dir}/private" -$ng_usr_incl = '/usr/include/nagios' -$ng_lib_dir = '/usr/lib64/nagios' -$ng_log_dir = '/var/log/nagios' -$ng_log_archives = "${ng_log_dir}/archives" -$ng_spool_dir = '/var/spool/nagios' -$ng_usr_share = '/usr/share/nagios' -$ng_share_html = "${ng_usr_share}/html" +$ng_main_dir = '/etc/nagios' +$ng_conf_d_dir = "${ng_main_dir}/conf.d" +$ng_objects_dir = "${ng_main_dir}/objects" +$ng_private_dir = "${ng_main_dir}/private" +$ng_usr_incl = '/usr/include/nagios' +$ng_lib_dir = '/usr/lib64/nagios' +$ng_log_dir = '/var/log/nagios' +$ng_log_archives = "${ng_log_dir}/archives" +$ng_spool_dir = '/var/spool/nagios' +$ng_usr_share = '/usr/share/nagios' +$ng_share_html = "${ng_usr_share}/html" # files -$ng_main_config = "${ng_main_dir}/nagios.cfg" -$ng_cgi_cfg_file = "${ng_main_dir}/cgi.cfg" -$ng_cgi_cfg_erb = 'cd_nagios/nagios/cgi_cfg.erb' -$ng_htpasswd_file = "${ng_main_dir}/passwd" -$ng_htpasswd_head = 'cd_nagios/nagios/htpasswd_head.erb' -$ng_htpasswd_rule = 'cd_nagios/nagios/htpasswd_rule.erb' -$ng_taccgi_erb = 'cd_nagios/selinux/taccgi.erb' -$ng_statcgi_erb = 'cd_nagios/selinux/statuscgi.erb' +$ng_main_config = "${ng_main_dir}/nagios.cfg" +$ng_cgi_cfg_file = "${ng_main_dir}/cgi.cfg" +$ng_cgi_cfg_erb = 'cd_nagios/nagios/cgi_cfg.erb' +$ng_htpasswd_file = "${ng_main_dir}/passwd" +$ng_htpasswd_head = 'cd_nagios/nagios/htpasswd_head.erb' +$ng_htpasswd_rule = 'cd_nagios/nagios/htpasswd_rule.erb' +$ng_taccgi_erb = 'cd_nagios/selinux/taccgi.erb' +$ng_statcgi_erb = 'cd_nagios/selinux/statuscgi.erb' +$ng_nagios_conf = '/etc/httpd/conf.d/nagios.conf' +$ng_nagios_conf_erb = 'cd_nagios/httpd/nagios_conf.erb' # includes must be last diff --git a/manifests/selinux/config.pp b/manifests/selinux/config.pp index 53b78db..ffa7381 100644 --- a/manifests/selinux/config.pp +++ b/manifests/selinux/config.pp @@ -52,7 +52,7 @@ class cd_nagios::selinux::config ( path => ['/usr/bin','/usr/sbin'], cwd => $ng_user_home, require => Exec['create_policy_taccgi'], - refreshonly => true, + refreshonly => true, } # sealert status.cgi @@ -70,7 +70,8 @@ class cd_nagios::selinux::config ( path => ['/usr/bin','/usr/sbin'], cwd => $ng_user_home, require => Exec['create_policy_statuscgi'], - refreshonly => true, + refreshonly => true, + notify => Service[$ng_service], } } } diff --git a/manifests/server/files.pp b/manifests/server/files.pp index d51f0bc..16a5c47 100644 --- a/manifests/server/files.pp +++ b/manifests/server/files.pp @@ -46,5 +46,21 @@ class cd_nagios::server::files ( content => template($ng_cgi_cfg_erb), notify => Service[$ng_service], } + + # manage nagios.conf for httpd + + file { $ng_nagios_conf: + ensure => file, + path => $ng_nagios_conf, + owner => 'root', + group => 'root', + mode => '0644', + selrange => s0, + selrole => object_r, + seltype => httpd_config_t, + seluser => system_u, + content => template($ng_nagios_conf_erb), + notify => Service[$ae_service], + } } } diff --git a/templates/httpd/nagios_conf.erb b/templates/httpd/nagios_conf.erb new file mode 100644 index 0000000..92bd19d --- /dev/null +++ b/templates/httpd/nagios_conf.erb @@ -0,0 +1,78 @@ +################################################################################ +########## /etc/httpd/conf.d/nagios.conf created by Puppet ########### +########## manual changes will be overwritten !!! ########### +################################################################################ +########## full reference is available at ########### +########## https://confdroid.com/2017/07/nagios-nagios-conf/ ########### +################################################################################ + +ScriptAlias /nagios/cgi-bin/ "/usr/lib64/nagios/cgi-bin/" + + +<% if @ng_use_https == true -%> + SSLRequireSSL +<% else -%> +# SSLRequireSSL +<% end -%> + Options ExecCGI + AllowOverride None + = 2.3> + + Require all granted + Require local +<% @ng_required_hosts.each do |required_host| -%> + Require host <%= required_host %> +<% end -%> + AuthName "Nagios Access" + AuthType Basic + AuthUserFile /etc/nagios/passwd + Require valid-user + + + + Order allow,deny + Allow from all +# Order deny,allow +# Deny from all +# Allow from 127.0.0.1 + + AuthName "Nagios Access" + AuthType Basic + AuthUserFile /etc/nagios/passwd + Require valid-user + + + +Alias /nagios "/usr/share/nagios/html" + + +# SSLRequireSSL + Options None + AllowOverride None + = 2.3> + + Require all granted + Require local +<% @ng_required_hosts.each do |required_host| -%> + Require host <%= required_host %> +<% end -%> + + AuthName "Nagios Access" + AuthType Basic + AuthUserFile /etc/nagios/passwd + Require valid-user + + + + Order allow,deny + Allow from all +# Order deny,allow +# Deny from all +# Allow from 127.0.0.1 + + AuthName "Nagios Access" + AuthType Basic + AuthUserFile /etc/nagios/passwd + Require valid-user + +