Skip to content

Refactor and Add vagrant support

Wolf Noble requested to merge github/fork/icann-dns/v1.2.2-rc11-ICANN into production

Created by: b4ldr

Hi,

This pull request is quite large so appolagise for that but i got a bit carried away. The bulk of the change it to move the config parameters around so they can be set when calling the module directly e.g.

class {'::icinga':
  icinga_user => nagios,
}

and so that settings can be set in multiple parts for the yaml e.g.

icinga::icinga_user: nagios
icinga::gui::gui_type: web

This moves away from setting everything under icinga::params:: and from my experience seems to be more in line with common practice. The other refactoring i did was to move templates so the reflect the location they will be installed to on the bases system which seems much more intuative to me.

I have also added a number of features

$manage_users:          only run icinga::users class if true
$manage_dbs:             if true and {web/ido}_db_server is mysql then create the mysql db's
$manage_repo:            only install third party repos id true
$web_auth_user_file:   location of the htpasswd user auth file
$web_auth_group_file: location of the htpasswd group auth file
$web_auth_users:        A hash of basic auth users to create
icinga::gui::basic_user: custom type to create basic auth users

Finally i have created a Vagrant file to test the module, I have readjusted some of the ordering and the vagrant box now comes up cleanly without errors

Merge request reports