cloud-mu 2.1.0beta → 3.0.0beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/Berksfile +4 -5
- data/Berksfile.lock +179 -0
- data/README.md +1 -6
- data/ansible/roles/geerlingguy.firewall/templates/firewall.bash.j2 +0 -0
- data/ansible/roles/mu-installer/README.md +33 -0
- data/ansible/roles/mu-installer/defaults/main.yml +2 -0
- data/ansible/roles/mu-installer/handlers/main.yml +2 -0
- data/ansible/roles/mu-installer/meta/main.yml +60 -0
- data/ansible/roles/mu-installer/tasks/main.yml +13 -0
- data/ansible/roles/mu-installer/tests/inventory +2 -0
- data/ansible/roles/mu-installer/tests/test.yml +5 -0
- data/ansible/roles/mu-installer/vars/main.yml +2 -0
- data/bin/mu-adopt +125 -0
- data/bin/mu-aws-setup +4 -4
- data/bin/mu-azure-setup +265 -0
- data/bin/mu-azure-tests +43 -0
- data/bin/mu-cleanup +20 -8
- data/bin/mu-configure +224 -98
- data/bin/mu-deploy +8 -3
- data/bin/mu-gcp-setup +16 -8
- data/bin/mu-gen-docs +92 -8
- data/bin/mu-load-config.rb +52 -12
- data/bin/mu-momma-cat +36 -0
- data/bin/mu-node-manage +34 -27
- data/bin/mu-self-update +2 -2
- data/bin/mu-ssh +12 -8
- data/bin/mu-upload-chef-artifacts +11 -4
- data/bin/mu-user-manage +3 -0
- data/cloud-mu.gemspec +8 -11
- data/cookbooks/firewall/libraries/helpers_iptables.rb +2 -2
- data/cookbooks/firewall/metadata.json +1 -1
- data/cookbooks/firewall/recipes/default.rb +5 -9
- data/cookbooks/mu-firewall/attributes/default.rb +2 -0
- data/cookbooks/mu-firewall/metadata.rb +1 -1
- data/cookbooks/mu-glusterfs/templates/default/mu-gluster-client.erb +0 -0
- data/cookbooks/mu-master/Berksfile +2 -2
- data/cookbooks/mu-master/files/default/check_mem.pl +0 -0
- data/cookbooks/mu-master/files/default/cloudamatic.png +0 -0
- data/cookbooks/mu-master/metadata.rb +5 -4
- data/cookbooks/mu-master/recipes/389ds.rb +1 -1
- data/cookbooks/mu-master/recipes/basepackages.rb +30 -10
- data/cookbooks/mu-master/recipes/default.rb +59 -7
- data/cookbooks/mu-master/recipes/firewall-holes.rb +1 -1
- data/cookbooks/mu-master/recipes/init.rb +65 -47
- data/cookbooks/mu-master/recipes/{eks-kubectl.rb → kubectl.rb} +4 -10
- data/cookbooks/mu-master/recipes/sssd.rb +2 -1
- data/cookbooks/mu-master/recipes/update_nagios_only.rb +6 -6
- data/cookbooks/mu-master/templates/default/web_app.conf.erb +2 -2
- data/cookbooks/mu-master/templates/mods/ldap.conf.erb +4 -0
- data/cookbooks/mu-php54/Berksfile +1 -2
- data/cookbooks/mu-php54/metadata.rb +4 -5
- data/cookbooks/mu-php54/recipes/default.rb +1 -1
- data/cookbooks/mu-splunk/templates/default/splunk-init.erb +0 -0
- data/cookbooks/mu-tools/Berksfile +3 -2
- data/cookbooks/mu-tools/files/default/Mu_CA.pem +33 -0
- data/cookbooks/mu-tools/libraries/helper.rb +20 -8
- data/cookbooks/mu-tools/metadata.rb +5 -2
- data/cookbooks/mu-tools/recipes/apply_security.rb +2 -3
- data/cookbooks/mu-tools/recipes/eks.rb +1 -1
- data/cookbooks/mu-tools/recipes/gcloud.rb +5 -30
- data/cookbooks/mu-tools/recipes/nagios.rb +1 -1
- data/cookbooks/mu-tools/recipes/rsyslog.rb +1 -0
- data/cookbooks/mu-tools/recipes/selinux.rb +19 -0
- data/cookbooks/mu-tools/recipes/split_var_partitions.rb +0 -1
- data/cookbooks/mu-tools/recipes/windows-client.rb +256 -122
- data/cookbooks/mu-tools/resources/disk.rb +3 -1
- data/cookbooks/mu-tools/templates/amazon/sshd_config.erb +1 -1
- data/cookbooks/mu-tools/templates/default/etc_hosts.erb +1 -1
- data/cookbooks/mu-tools/templates/default/{kubeconfig.erb → kubeconfig-eks.erb} +0 -0
- data/cookbooks/mu-tools/templates/default/kubeconfig-gke.erb +27 -0
- data/cookbooks/mu-tools/templates/windows-10/sshd_config.erb +137 -0
- data/cookbooks/mu-utility/recipes/nat.rb +4 -0
- data/extras/alpha.png +0 -0
- data/extras/beta.png +0 -0
- data/extras/clean-stock-amis +2 -2
- data/extras/generate-stock-images +131 -0
- data/extras/git-fix-permissions-hook +0 -0
- data/extras/image-generators/AWS/centos6.yaml +17 -0
- data/extras/image-generators/{aws → AWS}/centos7-govcloud.yaml +0 -0
- data/extras/image-generators/{aws → AWS}/centos7.yaml +0 -0
- data/extras/image-generators/{aws → AWS}/rhel7.yaml +0 -0
- data/extras/image-generators/{aws → AWS}/win2k12.yaml +0 -0
- data/extras/image-generators/{aws → AWS}/win2k16.yaml +0 -0
- data/extras/image-generators/{aws → AWS}/windows.yaml +0 -0
- data/extras/image-generators/{gcp → Google}/centos6.yaml +1 -0
- data/extras/image-generators/Google/centos7.yaml +18 -0
- data/extras/python_rpm/build.sh +0 -0
- data/extras/release.png +0 -0
- data/extras/ruby_rpm/build.sh +0 -0
- data/extras/ruby_rpm/muby.spec +1 -1
- data/install/README.md +43 -5
- data/install/deprecated-bash-library.sh +0 -0
- data/install/installer +1 -1
- data/install/jenkinskeys.rb +0 -0
- data/install/mu-master.yaml +55 -0
- data/modules/mommacat.ru +41 -7
- data/modules/mu.rb +444 -149
- data/modules/mu/adoption.rb +500 -0
- data/modules/mu/cleanup.rb +235 -158
- data/modules/mu/cloud.rb +675 -138
- data/modules/mu/clouds/aws.rb +156 -24
- data/modules/mu/clouds/aws/alarm.rb +4 -14
- data/modules/mu/clouds/aws/bucket.rb +60 -18
- data/modules/mu/clouds/aws/cache_cluster.rb +8 -20
- data/modules/mu/clouds/aws/collection.rb +12 -22
- data/modules/mu/clouds/aws/container_cluster.rb +209 -118
- data/modules/mu/clouds/aws/database.rb +120 -45
- data/modules/mu/clouds/aws/dnszone.rb +7 -18
- data/modules/mu/clouds/aws/endpoint.rb +5 -15
- data/modules/mu/clouds/aws/firewall_rule.rb +144 -72
- data/modules/mu/clouds/aws/folder.rb +4 -11
- data/modules/mu/clouds/aws/function.rb +6 -16
- data/modules/mu/clouds/aws/group.rb +4 -12
- data/modules/mu/clouds/aws/habitat.rb +11 -13
- data/modules/mu/clouds/aws/loadbalancer.rb +40 -28
- data/modules/mu/clouds/aws/log.rb +5 -13
- data/modules/mu/clouds/aws/msg_queue.rb +9 -24
- data/modules/mu/clouds/aws/nosqldb.rb +4 -12
- data/modules/mu/clouds/aws/notifier.rb +6 -13
- data/modules/mu/clouds/aws/role.rb +69 -40
- data/modules/mu/clouds/aws/search_domain.rb +17 -20
- data/modules/mu/clouds/aws/server.rb +184 -94
- data/modules/mu/clouds/aws/server_pool.rb +33 -38
- data/modules/mu/clouds/aws/storage_pool.rb +5 -12
- data/modules/mu/clouds/aws/user.rb +59 -33
- data/modules/mu/clouds/aws/userdata/linux.erb +18 -30
- data/modules/mu/clouds/aws/userdata/windows.erb +9 -9
- data/modules/mu/clouds/aws/vpc.rb +214 -145
- data/modules/mu/clouds/azure.rb +978 -44
- data/modules/mu/clouds/azure/container_cluster.rb +413 -0
- data/modules/mu/clouds/azure/firewall_rule.rb +500 -0
- data/modules/mu/clouds/azure/habitat.rb +167 -0
- data/modules/mu/clouds/azure/loadbalancer.rb +205 -0
- data/modules/mu/clouds/azure/role.rb +211 -0
- data/modules/mu/clouds/azure/server.rb +810 -0
- data/modules/mu/clouds/azure/user.rb +257 -0
- data/modules/mu/clouds/azure/userdata/README.md +4 -0
- data/modules/mu/clouds/azure/userdata/linux.erb +137 -0
- data/modules/mu/clouds/azure/userdata/windows.erb +275 -0
- data/modules/mu/clouds/azure/vpc.rb +782 -0
- data/modules/mu/clouds/cloudformation.rb +12 -9
- data/modules/mu/clouds/cloudformation/firewall_rule.rb +5 -13
- data/modules/mu/clouds/cloudformation/server.rb +10 -1
- data/modules/mu/clouds/cloudformation/server_pool.rb +1 -0
- data/modules/mu/clouds/cloudformation/vpc.rb +0 -2
- data/modules/mu/clouds/google.rb +554 -117
- data/modules/mu/clouds/google/bucket.rb +173 -32
- data/modules/mu/clouds/google/container_cluster.rb +1112 -157
- data/modules/mu/clouds/google/database.rb +24 -47
- data/modules/mu/clouds/google/firewall_rule.rb +344 -89
- data/modules/mu/clouds/google/folder.rb +156 -79
- data/modules/mu/clouds/google/group.rb +272 -82
- data/modules/mu/clouds/google/habitat.rb +177 -52
- data/modules/mu/clouds/google/loadbalancer.rb +9 -34
- data/modules/mu/clouds/google/role.rb +1211 -0
- data/modules/mu/clouds/google/server.rb +491 -227
- data/modules/mu/clouds/google/server_pool.rb +233 -48
- data/modules/mu/clouds/google/user.rb +479 -125
- data/modules/mu/clouds/google/userdata/linux.erb +3 -3
- data/modules/mu/clouds/google/userdata/windows.erb +9 -9
- data/modules/mu/clouds/google/vpc.rb +381 -223
- data/modules/mu/config.rb +689 -214
- data/modules/mu/config/bucket.rb +1 -1
- data/modules/mu/config/cache_cluster.rb +1 -1
- data/modules/mu/config/cache_cluster.yml +0 -4
- data/modules/mu/config/container_cluster.rb +18 -9
- data/modules/mu/config/database.rb +6 -23
- data/modules/mu/config/firewall_rule.rb +9 -15
- data/modules/mu/config/folder.rb +22 -21
- data/modules/mu/config/habitat.rb +22 -21
- data/modules/mu/config/loadbalancer.rb +2 -2
- data/modules/mu/config/role.rb +9 -40
- data/modules/mu/config/server.rb +26 -5
- data/modules/mu/config/server_pool.rb +1 -1
- data/modules/mu/config/storage_pool.rb +2 -2
- data/modules/mu/config/user.rb +4 -0
- data/modules/mu/config/vpc.rb +350 -110
- data/modules/mu/defaults/{amazon_images.yaml → AWS.yaml} +37 -39
- data/modules/mu/defaults/Azure.yaml +17 -0
- data/modules/mu/defaults/Google.yaml +24 -0
- data/modules/mu/defaults/README.md +1 -1
- data/modules/mu/deploy.rb +168 -125
- data/modules/mu/groomer.rb +2 -1
- data/modules/mu/groomers/ansible.rb +104 -32
- data/modules/mu/groomers/chef.rb +96 -44
- data/modules/mu/kittens.rb +20602 -0
- data/modules/mu/logger.rb +38 -11
- data/modules/mu/master.rb +90 -8
- data/modules/mu/master/chef.rb +2 -3
- data/modules/mu/master/ldap.rb +0 -1
- data/modules/mu/master/ssl.rb +250 -0
- data/modules/mu/mommacat.rb +917 -513
- data/modules/scratchpad.erb +1 -1
- data/modules/tests/super_complex_bok.yml +0 -0
- data/modules/tests/super_simple_bok.yml +0 -0
- data/roles/mu-master.json +2 -1
- data/spec/azure_creds +5 -0
- data/spec/mu.yaml +56 -0
- data/spec/mu/clouds/azure_spec.rb +164 -27
- data/spec/spec_helper.rb +5 -0
- data/test/clean_up.py +0 -0
- data/test/exec_inspec.py +0 -0
- data/test/exec_mu_install.py +0 -0
- data/test/exec_retry.py +0 -0
- data/test/smoke_test.rb +0 -0
- metadata +90 -118
- data/cookbooks/mu-jenkins/Berksfile +0 -14
- data/cookbooks/mu-jenkins/CHANGELOG.md +0 -13
- data/cookbooks/mu-jenkins/LICENSE +0 -37
- data/cookbooks/mu-jenkins/README.md +0 -105
- data/cookbooks/mu-jenkins/attributes/default.rb +0 -42
- data/cookbooks/mu-jenkins/files/default/cleanup_deploy_config.xml +0 -73
- data/cookbooks/mu-jenkins/files/default/deploy_config.xml +0 -44
- data/cookbooks/mu-jenkins/metadata.rb +0 -21
- data/cookbooks/mu-jenkins/recipes/default.rb +0 -195
- data/cookbooks/mu-jenkins/recipes/node-ssh-config.rb +0 -54
- data/cookbooks/mu-jenkins/recipes/public_key.rb +0 -24
- data/cookbooks/mu-jenkins/templates/default/example_job.config.xml.erb +0 -24
- data/cookbooks/mu-jenkins/templates/default/org.jvnet.hudson.plugins.SSHBuildWrapper.xml.erb +0 -14
- data/cookbooks/mu-jenkins/templates/default/ssh_config.erb +0 -6
- data/cookbooks/nagios/Berksfile +0 -11
- data/cookbooks/nagios/CHANGELOG.md +0 -589
- data/cookbooks/nagios/CONTRIBUTING.md +0 -11
- data/cookbooks/nagios/LICENSE +0 -37
- data/cookbooks/nagios/README.md +0 -328
- data/cookbooks/nagios/TESTING.md +0 -2
- data/cookbooks/nagios/attributes/config.rb +0 -171
- data/cookbooks/nagios/attributes/default.rb +0 -228
- data/cookbooks/nagios/chefignore +0 -102
- data/cookbooks/nagios/definitions/command.rb +0 -33
- data/cookbooks/nagios/definitions/contact.rb +0 -33
- data/cookbooks/nagios/definitions/contactgroup.rb +0 -33
- data/cookbooks/nagios/definitions/host.rb +0 -33
- data/cookbooks/nagios/definitions/hostdependency.rb +0 -33
- data/cookbooks/nagios/definitions/hostescalation.rb +0 -34
- data/cookbooks/nagios/definitions/hostgroup.rb +0 -33
- data/cookbooks/nagios/definitions/nagios_conf.rb +0 -38
- data/cookbooks/nagios/definitions/resource.rb +0 -33
- data/cookbooks/nagios/definitions/service.rb +0 -33
- data/cookbooks/nagios/definitions/servicedependency.rb +0 -33
- data/cookbooks/nagios/definitions/serviceescalation.rb +0 -34
- data/cookbooks/nagios/definitions/servicegroup.rb +0 -33
- data/cookbooks/nagios/definitions/timeperiod.rb +0 -33
- data/cookbooks/nagios/libraries/base.rb +0 -314
- data/cookbooks/nagios/libraries/command.rb +0 -91
- data/cookbooks/nagios/libraries/contact.rb +0 -230
- data/cookbooks/nagios/libraries/contactgroup.rb +0 -112
- data/cookbooks/nagios/libraries/custom_option.rb +0 -36
- data/cookbooks/nagios/libraries/data_bag_helper.rb +0 -23
- data/cookbooks/nagios/libraries/default.rb +0 -90
- data/cookbooks/nagios/libraries/host.rb +0 -412
- data/cookbooks/nagios/libraries/hostdependency.rb +0 -181
- data/cookbooks/nagios/libraries/hostescalation.rb +0 -173
- data/cookbooks/nagios/libraries/hostgroup.rb +0 -119
- data/cookbooks/nagios/libraries/nagios.rb +0 -282
- data/cookbooks/nagios/libraries/resource.rb +0 -59
- data/cookbooks/nagios/libraries/service.rb +0 -455
- data/cookbooks/nagios/libraries/servicedependency.rb +0 -215
- data/cookbooks/nagios/libraries/serviceescalation.rb +0 -195
- data/cookbooks/nagios/libraries/servicegroup.rb +0 -144
- data/cookbooks/nagios/libraries/timeperiod.rb +0 -160
- data/cookbooks/nagios/libraries/users_helper.rb +0 -54
- data/cookbooks/nagios/metadata.rb +0 -25
- data/cookbooks/nagios/recipes/_load_databag_config.rb +0 -153
- data/cookbooks/nagios/recipes/_load_default_config.rb +0 -241
- data/cookbooks/nagios/recipes/apache.rb +0 -48
- data/cookbooks/nagios/recipes/default.rb +0 -204
- data/cookbooks/nagios/recipes/nginx.rb +0 -82
- data/cookbooks/nagios/recipes/pagerduty.rb +0 -143
- data/cookbooks/nagios/recipes/server_package.rb +0 -40
- data/cookbooks/nagios/recipes/server_source.rb +0 -164
- data/cookbooks/nagios/templates/default/apache2.conf.erb +0 -96
- data/cookbooks/nagios/templates/default/cgi.cfg.erb +0 -266
- data/cookbooks/nagios/templates/default/commands.cfg.erb +0 -13
- data/cookbooks/nagios/templates/default/contacts.cfg.erb +0 -37
- data/cookbooks/nagios/templates/default/hostgroups.cfg.erb +0 -25
- data/cookbooks/nagios/templates/default/hosts.cfg.erb +0 -15
- data/cookbooks/nagios/templates/default/htpasswd.users.erb +0 -6
- data/cookbooks/nagios/templates/default/nagios.cfg.erb +0 -22
- data/cookbooks/nagios/templates/default/nginx.conf.erb +0 -62
- data/cookbooks/nagios/templates/default/pagerduty.cgi.erb +0 -185
- data/cookbooks/nagios/templates/default/resource.cfg.erb +0 -27
- data/cookbooks/nagios/templates/default/servicedependencies.cfg.erb +0 -15
- data/cookbooks/nagios/templates/default/servicegroups.cfg.erb +0 -14
- data/cookbooks/nagios/templates/default/services.cfg.erb +0 -14
- data/cookbooks/nagios/templates/default/templates.cfg.erb +0 -31
- data/cookbooks/nagios/templates/default/timeperiods.cfg.erb +0 -13
- data/extras/image-generators/aws/centos6.yaml +0 -18
- data/modules/mu/defaults/google_images.yaml +0 -16
- data/roles/mu-master-jenkins.json +0 -24
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# $Id: Generated by chef for node: <%= node['hostname'] %>
|
|
2
|
-
# ----------------------------------------------------------------
|
|
3
|
-
# NOTE: This file is controlled by chef templates!
|
|
4
|
-
# Do not edit or change this file but change the following:
|
|
5
|
-
# template file : commands.cfg.erb
|
|
6
|
-
# ----------------------------------------------------------------
|
|
7
|
-
# Command definitions
|
|
8
|
-
# ----------------------------------------------------------------
|
|
9
|
-
|
|
10
|
-
<% Nagios.instance.commands.each do |key,command| -%>
|
|
11
|
-
<%= command.definition %>
|
|
12
|
-
|
|
13
|
-
<% end -%>
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# $Id: Generated by chef for node: <%= node['hostname'] %>
|
|
2
|
-
# ----------------------------------------------------------------
|
|
3
|
-
# NOTE: This file is controlled by chef templates!
|
|
4
|
-
# Do not edit or change this file but change the following:
|
|
5
|
-
# template file : contacts.cfg.erb
|
|
6
|
-
# ----------------------------------------------------------------
|
|
7
|
-
# Contact definitions
|
|
8
|
-
# Contactgroup definitions
|
|
9
|
-
# ----------------------------------------------------------------
|
|
10
|
-
|
|
11
|
-
<% Nagios.instance.contacts.each do |key,contact| -%>
|
|
12
|
-
<% if contact.name.nil? # Skipping all the template contacts %>
|
|
13
|
-
<%= contact.definition %>
|
|
14
|
-
|
|
15
|
-
<% end %>
|
|
16
|
-
<% end -%>
|
|
17
|
-
|
|
18
|
-
<% Nagios.instance.contactgroups.each do |key,group| -%>
|
|
19
|
-
<% if group.name.nil? # Skipping all the template contactgroups %>
|
|
20
|
-
<%= group.definition %>
|
|
21
|
-
|
|
22
|
-
<% end %>
|
|
23
|
-
<% end -%>
|
|
24
|
-
|
|
25
|
-
<% Nagios.instance.serviceescalations.each do |escalation| -%>
|
|
26
|
-
<% if escalation.name.nil? # Skipping all the template serviceescalations %>
|
|
27
|
-
<%= escalation.definition %>
|
|
28
|
-
|
|
29
|
-
<% end %>
|
|
30
|
-
<% end -%>
|
|
31
|
-
|
|
32
|
-
<% Nagios.instance.hostescalations.each do |escalation| -%>
|
|
33
|
-
<% if escalation.name.nil? # Skipping all the template hostescalations %>
|
|
34
|
-
<%= escalation.definition %>
|
|
35
|
-
|
|
36
|
-
<% end %>
|
|
37
|
-
<% end -%>
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# $Id: Generated by chef for node: <%= node['hostname'] %>
|
|
2
|
-
# ----------------------------------------------------------------
|
|
3
|
-
# NOTE: This file is controlled by chef templates!
|
|
4
|
-
# Do not edit or change this file but change the following:
|
|
5
|
-
# template file : hostgroups.cfg.erb
|
|
6
|
-
# ----------------------------------------------------------------
|
|
7
|
-
# Hostgroup definitions
|
|
8
|
-
# ----------------------------------------------------------------
|
|
9
|
-
|
|
10
|
-
define hostgroup {
|
|
11
|
-
hostgroup_name all
|
|
12
|
-
alias all
|
|
13
|
-
<% if node['nagios']['regexp_matching'] == 1 -%>
|
|
14
|
-
members .*
|
|
15
|
-
<% else -%>
|
|
16
|
-
members *
|
|
17
|
-
<% end -%>
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
<% Nagios.instance.hostgroups.each do |key,hostgroup| -%>
|
|
21
|
-
<% if hostgroup.name.nil? # Skipping all the template hosts %>
|
|
22
|
-
<%= hostgroup.definition unless hostgroup.hostgroup_name == 'all' %>
|
|
23
|
-
|
|
24
|
-
<% end %>
|
|
25
|
-
<% end -%>
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# $Id: Generated by chef for node: <%= node['hostname'] %>
|
|
2
|
-
# ----------------------------------------------------------------
|
|
3
|
-
# NOTE: This file is controlled by chef templates!
|
|
4
|
-
# Do not edit or change this file but change the following:
|
|
5
|
-
# template file : hosts.cfg.erb
|
|
6
|
-
# ----------------------------------------------------------------
|
|
7
|
-
# Host definitions
|
|
8
|
-
# ----------------------------------------------------------------
|
|
9
|
-
|
|
10
|
-
<% Nagios.instance.hosts.each do |key,host| -%>
|
|
11
|
-
<% if host.name.nil? # Skipping all the template hosts %>
|
|
12
|
-
<%= host.definition %>
|
|
13
|
-
|
|
14
|
-
<% end %>
|
|
15
|
-
<% end -%>
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# $Id: Autogenerated by Chef.
|
|
2
|
-
# ----------------------------------------------------------------
|
|
3
|
-
# NOTE: This file is controlled by chef templates!
|
|
4
|
-
# Do not edit or change this file but change the following:
|
|
5
|
-
# cookbook : nagios
|
|
6
|
-
# template file : nagios.cfg.erb
|
|
7
|
-
# ----------------------------------------------------------------
|
|
8
|
-
# Nagios Configuration
|
|
9
|
-
# ----------------------------------------------------------------
|
|
10
|
-
|
|
11
|
-
<% @nagios_config.each do |key,items| %>
|
|
12
|
-
<% case items %>
|
|
13
|
-
<% when String %>
|
|
14
|
-
<%= key + '=' + items %>
|
|
15
|
-
<% when Fixnum %>
|
|
16
|
-
<%= key + '=' + items.to_s %>
|
|
17
|
-
<% when Array %>
|
|
18
|
-
<% items.each do |item| %>
|
|
19
|
-
<%= key + '=' + item %>
|
|
20
|
-
<% end %>
|
|
21
|
-
<% end %>
|
|
22
|
-
<% end %>
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
server {
|
|
2
|
-
|
|
3
|
-
listen <%= @listen_port %>;
|
|
4
|
-
<% if @nagios_url %>
|
|
5
|
-
server_name <%= @nagios_url %>;
|
|
6
|
-
<% else %>
|
|
7
|
-
server_name <%= node['nagios']['server']['name'] %> <%= node['nagios']['server']['name'] %>.<%= @chef_env %>.<%= @public_domain %> <%= @fqdn %>;
|
|
8
|
-
<% end %>
|
|
9
|
-
access_log <%= File.join(@log_dir, 'nginx_access.log') %>;
|
|
10
|
-
error_log <%= File.join(@log_dir, 'nginx_error.log') %>;
|
|
11
|
-
root <%= @docroot %>;
|
|
12
|
-
<% unless node['nagios']['allowed_ips'].empty? -%>
|
|
13
|
-
satisfy any;
|
|
14
|
-
<%= node['nagios']['allowed_ips'].join(";\n")%>;
|
|
15
|
-
deny all;
|
|
16
|
-
<% end -%>
|
|
17
|
-
auth_basic "Nagios Server";
|
|
18
|
-
auth_basic_user_file <%= @htpasswd_file %>;
|
|
19
|
-
index index.php index.html index.cgi;
|
|
20
|
-
|
|
21
|
-
<% if @https %>
|
|
22
|
-
ssl on;
|
|
23
|
-
ssl_certificate <%= @ssl_cert_file %>;
|
|
24
|
-
ssl_certificate_key <%= @ssl_cert_key %>;
|
|
25
|
-
ssl_ciphers HIGH;
|
|
26
|
-
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
|
27
|
-
ssl_prefer_server_ciphers on;
|
|
28
|
-
<% end %>
|
|
29
|
-
|
|
30
|
-
<% if @cgi %>
|
|
31
|
-
<%=
|
|
32
|
-
nginx_dispatch(:cgi,
|
|
33
|
-
:custom => %q(
|
|
34
|
-
fastcgi_param AUTH_USER $remote_user;
|
|
35
|
-
fastcgi_param REMOTE_USER $remote_user;
|
|
36
|
-
)
|
|
37
|
-
)
|
|
38
|
-
%>
|
|
39
|
-
<% end %>
|
|
40
|
-
|
|
41
|
-
<% if @php %>
|
|
42
|
-
<%=
|
|
43
|
-
nginx_dispatch(:php,
|
|
44
|
-
:docroot => @docroot,
|
|
45
|
-
:custom => %q(
|
|
46
|
-
fastcgi_param AUTH_USER $remote_user;
|
|
47
|
-
fastcgi_param REMOTE_USER $remote_user;
|
|
48
|
-
)
|
|
49
|
-
)
|
|
50
|
-
%>
|
|
51
|
-
<% end %>
|
|
52
|
-
|
|
53
|
-
<% if node['platform_family'] == 'debian' && node['nagios']['server']['install_method'] == 'package'-%>
|
|
54
|
-
location /stylesheets {
|
|
55
|
-
alias /etc/<%= node['nagios']['server']['vname'] %>/stylesheets;
|
|
56
|
-
}
|
|
57
|
-
<% end -%>
|
|
58
|
-
location / {
|
|
59
|
-
root <%= @docroot %>;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
}
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env perl
|
|
2
|
-
|
|
3
|
-
use warnings;
|
|
4
|
-
use strict;
|
|
5
|
-
|
|
6
|
-
use CGI;
|
|
7
|
-
use JSON;
|
|
8
|
-
use LWP::UserAgent;
|
|
9
|
-
|
|
10
|
-
# =============================================================================
|
|
11
|
-
|
|
12
|
-
my $CONFIG = {
|
|
13
|
-
# Nagios/Ubuntu defaults
|
|
14
|
-
'command_file' => '<%= @command_file %>', # External commands file
|
|
15
|
-
# Icinga/CentOS defaults
|
|
16
|
-
#'command_file' => '/var/spool/icinga/cmd/icinga.cmd', # External commands file
|
|
17
|
-
# Icinga acknowledgement TTL
|
|
18
|
-
'ack_ttl' => 0, # Time in seconds the acknowledgement in Icinga last before
|
|
19
|
-
# it times out automatically. 0 means the acknowledgement
|
|
20
|
-
# never expires. If you're using Nagios this MUST be 0.
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
# =============================================================================
|
|
24
|
-
|
|
25
|
-
sub ackHost {
|
|
26
|
-
my ($time, $host, $comment, $author, $sticky, $notify, $persistent) = @_;
|
|
27
|
-
|
|
28
|
-
# Open the external commands file
|
|
29
|
-
if (! open (NAGIOS, '>>', $CONFIG->{'command_file'})) {
|
|
30
|
-
# Well shizzle
|
|
31
|
-
return (undef, $!);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
# Success! Write the command
|
|
35
|
-
if ($CONFIG->{'ack_ttl'} <= 0) {
|
|
36
|
-
printf (NAGIOS "[%u] ACKNOWLEDGE_HOST_PROBLEM;%s;%u;%u;%u;%s;%s\n", $time, $host, $sticky, $notify, $persistent, $author, $comment);
|
|
37
|
-
|
|
38
|
-
} else {
|
|
39
|
-
printf (NAGIOS "[%u] ACKNOWLEDGE_HOST_PROBLEM_EXPIRE;%s;%u;%u;%u;%u;%s;%s\n", $time, $host, $sticky, $notify, $persistent, ($time + $CONFIG->{'ack_ttl'}), $author, $comment);
|
|
40
|
-
}
|
|
41
|
-
# Close the file handle
|
|
42
|
-
close (NAGIOS);
|
|
43
|
-
|
|
44
|
-
# Return with happiness
|
|
45
|
-
return (1, undef);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
# =============================================================================
|
|
49
|
-
|
|
50
|
-
sub deackHost {
|
|
51
|
-
my ($time, $host) = @_;
|
|
52
|
-
|
|
53
|
-
# Open the external commands file
|
|
54
|
-
if (! open (NAGIOS, '>>', $CONFIG->{'command_file'})) {
|
|
55
|
-
# Well shizzle
|
|
56
|
-
return (undef, $!);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
# Success! Write the command
|
|
60
|
-
printf (NAGIOS "[%u] REMOVE_HOST_ACKNOWLEDGEMENT;%s\n", $time, $host);
|
|
61
|
-
# Close the file handle
|
|
62
|
-
close (NAGIOS);
|
|
63
|
-
|
|
64
|
-
# Return with happiness
|
|
65
|
-
return (1, undef);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
# =============================================================================
|
|
69
|
-
|
|
70
|
-
sub ackService {
|
|
71
|
-
my ($time, $host, $service, $comment, $author, $sticky, $notify, $persistent) = @_;
|
|
72
|
-
|
|
73
|
-
# Open the external commands file
|
|
74
|
-
if (! open (NAGIOS, '>>', $CONFIG->{'command_file'})) {
|
|
75
|
-
# Well shizzle
|
|
76
|
-
return (undef, $!);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
# Success! Write the command
|
|
80
|
-
if ($CONFIG->{'ack_ttl'} <= 0) {
|
|
81
|
-
printf (NAGIOS "[%u] ACKNOWLEDGE_SVC_PROBLEM;%s;%s;%u;%u;%u;%s;%s\n", $time, $host, $service, $sticky, $notify, $persistent, $author, $comment);
|
|
82
|
-
|
|
83
|
-
} else {
|
|
84
|
-
printf (NAGIOS "[%u] ACKNOWLEDGE_SVC_PROBLEM_EXPIRE;%s;%s;%u;%u;%u;%u;%s;%s\n", $time, $host, $service, $sticky, $notify, $persistent, ($time + $CONFIG->{'ack_ttl'}), $author, $comment);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
# Close the file handle
|
|
88
|
-
close (NAGIOS);
|
|
89
|
-
|
|
90
|
-
# Return with happiness
|
|
91
|
-
return (1, undef);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
# =============================================================================
|
|
95
|
-
|
|
96
|
-
sub deackService {
|
|
97
|
-
my ($time, $host, $service) = @_;
|
|
98
|
-
|
|
99
|
-
# Open the external commands file
|
|
100
|
-
if (! open (NAGIOS, '>>', $CONFIG->{'command_file'})) {
|
|
101
|
-
# Well shizzle
|
|
102
|
-
return (undef, $!);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
# Success! Write the command
|
|
106
|
-
printf (NAGIOS "[%u] REMOVE_SVC_ACKNOWLEDGEMENT;%s;%s\n", $time, $host, $service);
|
|
107
|
-
# Close the file handle
|
|
108
|
-
close (NAGIOS);
|
|
109
|
-
|
|
110
|
-
# Return with happiness
|
|
111
|
-
return (1, undef);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
# =============================================================================
|
|
115
|
-
|
|
116
|
-
my ($TIME, $QUERY, $POST, $JSON);
|
|
117
|
-
|
|
118
|
-
$TIME = time ();
|
|
119
|
-
|
|
120
|
-
$QUERY = CGI->new ();
|
|
121
|
-
|
|
122
|
-
if (! defined ($POST = $QUERY->param ('POSTDATA'))) {
|
|
123
|
-
print ("Status: 400 Requests must be POSTs\n\n400 Requests must be POSTs\n");
|
|
124
|
-
exit (0);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
if (! defined ($JSON = JSON->new ()->utf8 ()->decode ($POST))) {
|
|
128
|
-
print ("Status: 400 Request payload must be JSON blob\n\n400 Request payload must JSON blob\n");
|
|
129
|
-
exit (0);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if ((ref ($JSON) ne 'HASH') || ! defined ($JSON->{'messages'}) || (ref ($JSON->{'messages'}) ne 'ARRAY')) {
|
|
133
|
-
print ("Status: 400 JSON blob does not match the expected format\n\n400 JSON blob does not match expected format\n");
|
|
134
|
-
exit (0);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
my ($message, $return);
|
|
138
|
-
$return = {
|
|
139
|
-
'status' => 'okay',
|
|
140
|
-
'messages' => {}
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
MESSAGE: foreach $message (@{$JSON->{'messages'}}) {
|
|
144
|
-
my ($hostservice, $status, $error);
|
|
145
|
-
|
|
146
|
-
if ((ref ($message) ne 'HASH') || ! defined ($message->{'type'})) {
|
|
147
|
-
next MESSAGE;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
$hostservice = $message->{'data'}->{'incident'}->{'trigger_summary_data'};
|
|
151
|
-
|
|
152
|
-
if (! defined ($hostservice)) {
|
|
153
|
-
next MESSAGE;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
if ($message->{'type'} eq 'incident.acknowledge') {
|
|
157
|
-
if (! defined ($hostservice->{'SERVICEDESC'})) {
|
|
158
|
-
($status, $error) = ackHost ($TIME, $hostservice->{'HOSTNAME'}, 'Acknowledged by PagerDuty', 'PagerDuty', 2, 0, 0);
|
|
159
|
-
|
|
160
|
-
} else {
|
|
161
|
-
($status, $error) = ackService ($TIME, $hostservice->{'HOSTNAME'}, $hostservice->{'SERVICEDESC'}, 'Acknowledged by PagerDuty', 'PagerDuty', 2, 0, 0);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
$return->{'messages'}{$message->{'id'}} = {
|
|
165
|
-
'status' => ($status ? 'okay' : 'fail'),
|
|
166
|
-
'message' => ($error ? $error : undef)
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
} elsif ($message->{'type'} eq 'incident.unacknowledge') {
|
|
170
|
-
if (! defined ($hostservice->{'SERVICEDESC'})) {
|
|
171
|
-
($status, $error) = deackHost ($TIME, $hostservice->{'HOSTNAME'});
|
|
172
|
-
|
|
173
|
-
} else {
|
|
174
|
-
($status, $error) = deackService ($TIME, $hostservice->{'HOSTNAME'}, $hostservice->{'SERVICEDESC'});
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
$return->{'messages'}->{$message->{'id'}} = {
|
|
178
|
-
'status' => ($status ? 'okay' : 'fail'),
|
|
179
|
-
'message' => ($error ? $error : undef)
|
|
180
|
-
};
|
|
181
|
-
$return->{'status'} = ($status eq 'okay' ? $return->{'status'} : 'fail');
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
printf ("Status: 200 Okay\nContent-type: application/json\n\n%s\n", JSON->new ()->utf8 ()->encode ($return));
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# $Id: Generated by chef for node: <%= node['hostname'] %>
|
|
2
|
-
# ----------------------------------------------------------------
|
|
3
|
-
# NOTE: This file is controlled by chef templates!
|
|
4
|
-
# Do not edit or change this file but change the following:
|
|
5
|
-
# template file : resource.cfg.erb
|
|
6
|
-
# ----------------------------------------------------------------
|
|
7
|
-
# You can define $USERx$ macros in this file, which can in turn be used
|
|
8
|
-
# in command definitions in your host config file(s). $USERx$ macros are
|
|
9
|
-
# useful for storing sensitive information such as usernames, passwords,
|
|
10
|
-
# etc. They are also handy for specifying the path to plugins and
|
|
11
|
-
# event handlers - if you decide to move the plugins or event handlers to
|
|
12
|
-
# a different directory in the future, you can just update one or two
|
|
13
|
-
# $USERx$ macros, instead of modifying a lot of command definitions.
|
|
14
|
-
#
|
|
15
|
-
# The CGIs will not attempt to read the contents of resource files, so
|
|
16
|
-
# you can set restrictive permissions (600 or 660) on them.
|
|
17
|
-
#
|
|
18
|
-
# Nagios supports up to 256 $USERx$ macros ($USER1$ through $USER256$)
|
|
19
|
-
#
|
|
20
|
-
# Resource files may also be used to store configuration directives for
|
|
21
|
-
# external data sources like MySQL...
|
|
22
|
-
# ----------------------------------------------------------------
|
|
23
|
-
|
|
24
|
-
<% Nagios.instance.resources.each do |key,res| -%>
|
|
25
|
-
<%= res.definition %>
|
|
26
|
-
<% end -%>
|
|
27
|
-
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# $Id: Generated by chef for node: <%= node['hostname'] %>
|
|
2
|
-
# ----------------------------------------------------------------
|
|
3
|
-
# NOTE: This file is controlled by chef templates!
|
|
4
|
-
# Do not edit or change this file but change the following:
|
|
5
|
-
# template file : servicedependencies.cfg.erb
|
|
6
|
-
# ----------------------------------------------------------------
|
|
7
|
-
# Service Dependency Definitions
|
|
8
|
-
# ----------------------------------------------------------------
|
|
9
|
-
|
|
10
|
-
<% Nagios.instance.servicedependencies.each do |key,dependency| -%>
|
|
11
|
-
<% if dependency.name.nil? # Skipping all the template servicedependencies %>
|
|
12
|
-
<%= dependency.definition %>
|
|
13
|
-
|
|
14
|
-
<% end %>
|
|
15
|
-
<% end -%>
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# ----------------------------------------------------------------
|
|
2
|
-
# NOTE: This file is controlled by chef templates!
|
|
3
|
-
# Do not edit or change this file but change the following:
|
|
4
|
-
# template file : servicegroups.cfg.erb
|
|
5
|
-
# ----------------------------------------------------------------
|
|
6
|
-
# Servicegroup definitions
|
|
7
|
-
# ----------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
<% Nagios.instance.servicegroups.each do |key,servicegroup| -%>
|
|
10
|
-
<% if servicegroup.name.nil? # Skipping all the template servicegroups %>
|
|
11
|
-
<%= servicegroup.definition %>
|
|
12
|
-
|
|
13
|
-
<% end %>
|
|
14
|
-
<% end -%>
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# ----------------------------------------------------------------
|
|
2
|
-
# NOTE: This file is controlled by chef templates!
|
|
3
|
-
# Do not edit or change this file but change the following:
|
|
4
|
-
# template file : services.cfg.erb
|
|
5
|
-
# ----------------------------------------------------------------
|
|
6
|
-
# Service definitions
|
|
7
|
-
# ----------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
<% Nagios.instance.services.each do |key,service| -%>
|
|
10
|
-
<% if service.name.nil? # Skipping all the template services %>
|
|
11
|
-
<%= service.definition %>
|
|
12
|
-
|
|
13
|
-
<% end %>
|
|
14
|
-
<% end -%>
|