Refactor and Add vagrant support
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