cloud-mu 1.9.0.pre.beta
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 +7 -0
- data/Berksfile +56 -0
- data/Berksfile.lock +250 -0
- data/Jenkinsfile +184 -0
- data/LICENSE.md +37 -0
- data/README.md +26 -0
- data/bin/mu-aws-setup +376 -0
- data/bin/mu-cleanup +68 -0
- data/bin/mu-configure +1133 -0
- data/bin/mu-deploy +166 -0
- data/bin/mu-firewall-allow-clients +30 -0
- data/bin/mu-gcp-setup +200 -0
- data/bin/mu-gen-docs +34 -0
- data/bin/mu-gen-env +42 -0
- data/bin/mu-load-config.rb +158 -0
- data/bin/mu-node-manage +683 -0
- data/bin/mu-self-update +228 -0
- data/bin/mu-ssh +23 -0
- data/bin/mu-tunnel-nagios +144 -0
- data/bin/mu-upload-chef-artifacts +757 -0
- data/bin/mu-user-manage +275 -0
- data/cookbooks/awscli/LICENSE +37 -0
- data/cookbooks/awscli/README.md +58 -0
- data/cookbooks/awscli/attributes/default.rb +1 -0
- data/cookbooks/awscli/libraries/instance_metadata.rb +21 -0
- data/cookbooks/awscli/metadata.rb +20 -0
- data/cookbooks/awscli/recipes/default.rb +56 -0
- data/cookbooks/awscli/templates/default/config.erb +18 -0
- data/cookbooks/mu-activedirectory/CHANGELOG.md +13 -0
- data/cookbooks/mu-activedirectory/LICENSE +37 -0
- data/cookbooks/mu-activedirectory/README.md +6 -0
- data/cookbooks/mu-activedirectory/attributes/default.rb +98 -0
- data/cookbooks/mu-activedirectory/files/default/password-auth +32 -0
- data/cookbooks/mu-activedirectory/files/default/sshd_pol.pp +0 -0
- data/cookbooks/mu-activedirectory/files/default/sshd_pol.te +32 -0
- data/cookbooks/mu-activedirectory/files/default/syslogd_oddjobd.pp +0 -0
- data/cookbooks/mu-activedirectory/files/default/syslogd_oddjobd.te +10 -0
- data/cookbooks/mu-activedirectory/files/default/system-auth +34 -0
- data/cookbooks/mu-activedirectory/files/default/winbindpol.pp +0 -0
- data/cookbooks/mu-activedirectory/files/default/winbindpol.te +37 -0
- data/cookbooks/mu-activedirectory/libraries/config.rb +106 -0
- data/cookbooks/mu-activedirectory/libraries/helper.rb +86 -0
- data/cookbooks/mu-activedirectory/metadata.rb +17 -0
- data/cookbooks/mu-activedirectory/providers/domain.rb +152 -0
- data/cookbooks/mu-activedirectory/providers/domain_controller.rb +89 -0
- data/cookbooks/mu-activedirectory/providers/domain_node.rb +275 -0
- data/cookbooks/mu-activedirectory/recipes/default.rb +8 -0
- data/cookbooks/mu-activedirectory/recipes/domain-controller.rb +44 -0
- data/cookbooks/mu-activedirectory/recipes/domain-node.rb +50 -0
- data/cookbooks/mu-activedirectory/recipes/domain.rb +43 -0
- data/cookbooks/mu-activedirectory/recipes/sssd.rb +185 -0
- data/cookbooks/mu-activedirectory/resources/domain.rb +25 -0
- data/cookbooks/mu-activedirectory/resources/domain_controller.rb +25 -0
- data/cookbooks/mu-activedirectory/resources/domain_node.rb +20 -0
- data/cookbooks/mu-activedirectory/templates/default/dhclient-eth0.conf.erb +4 -0
- data/cookbooks/mu-activedirectory/templates/default/interface +0 -0
- data/cookbooks/mu-activedirectory/templates/default/krb5.conf.erb +23 -0
- data/cookbooks/mu-activedirectory/templates/default/ntp.conf.erb +56 -0
- data/cookbooks/mu-activedirectory/templates/default/smb.conf.erb +33 -0
- data/cookbooks/mu-activedirectory/templates/default/sssd.conf.erb +60 -0
- data/cookbooks/mu-activedirectory/templates/windows/Backup.xml.erb +20 -0
- data/cookbooks/mu-activedirectory/templates/windows/bkupInfo.xml.erb +1 -0
- data/cookbooks/mu-activedirectory/templates/windows/gpreprt.xml.erb +198 -0
- data/cookbooks/mu-activedirectory/templates/windows/gptmpl.inf.erb +12 -0
- data/cookbooks/mu-activedirectory/templates/windows/manifest.xml.erb +1 -0
- data/cookbooks/mu-firewall/CHANGELOG.md +11 -0
- data/cookbooks/mu-firewall/LICENSE +37 -0
- data/cookbooks/mu-firewall/README.md +5 -0
- data/cookbooks/mu-firewall/attributes/default.rb +3 -0
- data/cookbooks/mu-firewall/metadata.rb +16 -0
- data/cookbooks/mu-firewall/recipes/default.rb +10 -0
- data/cookbooks/mu-glusterfs/CHANGELOG.md +13 -0
- data/cookbooks/mu-glusterfs/LICENSE +37 -0
- data/cookbooks/mu-glusterfs/README.md +5 -0
- data/cookbooks/mu-glusterfs/attributes/default.rb +34 -0
- data/cookbooks/mu-glusterfs/metadata.rb +17 -0
- data/cookbooks/mu-glusterfs/recipes/client.rb +62 -0
- data/cookbooks/mu-glusterfs/recipes/default.rb +16 -0
- data/cookbooks/mu-glusterfs/recipes/samba.rb +57 -0
- data/cookbooks/mu-glusterfs/recipes/server.rb +200 -0
- data/cookbooks/mu-glusterfs/templates/default/mu-gluster-client.erb +71 -0
- data/cookbooks/mu-glusterfs/templates/default/smb.conf.erb +14 -0
- data/cookbooks/mu-jenkins/CHANGELOG.md +13 -0
- data/cookbooks/mu-jenkins/LICENSE +37 -0
- data/cookbooks/mu-jenkins/README.md +105 -0
- data/cookbooks/mu-jenkins/attributes/default.rb +42 -0
- data/cookbooks/mu-jenkins/files/default/cleanup_deploy_config.xml +73 -0
- data/cookbooks/mu-jenkins/files/default/deploy_config.xml +44 -0
- data/cookbooks/mu-jenkins/metadata.rb +21 -0
- data/cookbooks/mu-jenkins/recipes/default.rb +195 -0
- data/cookbooks/mu-jenkins/recipes/node-ssh-config.rb +54 -0
- data/cookbooks/mu-jenkins/recipes/public_key.rb +24 -0
- data/cookbooks/mu-jenkins/templates/default/example_job.config.xml.erb +24 -0
- data/cookbooks/mu-jenkins/templates/default/org.jvnet.hudson.plugins.SSHBuildWrapper.xml.erb +14 -0
- data/cookbooks/mu-jenkins/templates/default/ssh_config.erb +6 -0
- data/cookbooks/mu-master/CHANGELOG.md +13 -0
- data/cookbooks/mu-master/LICENSE +37 -0
- data/cookbooks/mu-master/README.md +6 -0
- data/cookbooks/mu-master/attributes/default.rb +95 -0
- data/cookbooks/mu-master/files/default/0-mu-log-server.conf +19 -0
- data/cookbooks/mu-master/files/default/addRSA.ldif +8 -0
- data/cookbooks/mu-master/files/default/check_mem.pl +197 -0
- data/cookbooks/mu-master/files/default/cloudamatic.png +0 -0
- data/cookbooks/mu-master/files/default/dirsrv_admin.pp +0 -0
- data/cookbooks/mu-master/files/default/dirsrv_admin.te +13 -0
- data/cookbooks/mu-master/files/default/nagios_selinux.pp +0 -0
- data/cookbooks/mu-master/files/default/nagios_selinux.te +51 -0
- data/cookbooks/mu-master/files/default/nagios_selinux_7.pp +0 -0
- data/cookbooks/mu-master/files/default/nagios_selinux_7.te +17 -0
- data/cookbooks/mu-master/files/default/pam_sshd +18 -0
- data/cookbooks/mu-master/files/default/ssl_enable.ldif +18 -0
- data/cookbooks/mu-master/files/default/syslogd_oddjobd.pp +0 -0
- data/cookbooks/mu-master/files/default/syslogd_oddjobd.te +10 -0
- data/cookbooks/mu-master/files/default/vimrc +19 -0
- data/cookbooks/mu-master/libraries/mu.rb +29 -0
- data/cookbooks/mu-master/metadata.rb +30 -0
- data/cookbooks/mu-master/providers/user.rb +41 -0
- data/cookbooks/mu-master/recipes/389ds.rb +164 -0
- data/cookbooks/mu-master/recipes/basepackages.rb +58 -0
- data/cookbooks/mu-master/recipes/caching_nameserver.rb +37 -0
- data/cookbooks/mu-master/recipes/default.rb +451 -0
- data/cookbooks/mu-master/recipes/eks-kubectl.rb +41 -0
- data/cookbooks/mu-master/recipes/firewall-holes.rb +70 -0
- data/cookbooks/mu-master/recipes/init.rb +542 -0
- data/cookbooks/mu-master/recipes/ssl-certs.rb +109 -0
- data/cookbooks/mu-master/recipes/sssd.rb +89 -0
- data/cookbooks/mu-master/recipes/update_nagios_only.rb +242 -0
- data/cookbooks/mu-master/recipes/vault.rb +111 -0
- data/cookbooks/mu-master/resources/user.rb +19 -0
- data/cookbooks/mu-master/templates/default/389-directory-setup.inf.erb +28 -0
- data/cookbooks/mu-master/templates/default/chef-server.rb.erb +18 -0
- data/cookbooks/mu-master/templates/default/dhclient-eth0.conf.erb +9 -0
- data/cookbooks/mu-master/templates/default/mu-momma-cat.erb +149 -0
- data/cookbooks/mu-master/templates/default/mu.rc.erb +9 -0
- data/cookbooks/mu-master/templates/default/openssl.cnf.erb +354 -0
- data/cookbooks/mu-master/templates/default/sssd.conf.erb +44 -0
- data/cookbooks/mu-master/templates/default/web_app.conf.erb +90 -0
- data/cookbooks/mu-mongo/CHANGELOG.md +13 -0
- data/cookbooks/mu-mongo/LICENSE +37 -0
- data/cookbooks/mu-mongo/README.md +5 -0
- data/cookbooks/mu-mongo/attributes/default.rb +22 -0
- data/cookbooks/mu-mongo/files/default/keyfile +16 -0
- data/cookbooks/mu-mongo/files/default/remove_nodes.js +5 -0
- data/cookbooks/mu-mongo/metadata.rb +17 -0
- data/cookbooks/mu-mongo/recipes/default.rb +149 -0
- data/cookbooks/mu-mongo/recipes/yum-update-rule.rb +18 -0
- data/cookbooks/mu-mongo/templates/default/mongo_create_openfema_db.js.erb +2 -0
- data/cookbooks/mu-mongo/templates/default/mongo_init.js.erb +1 -0
- data/cookbooks/mu-mongo/templates/default/mongo_logrotate.erb +14 -0
- data/cookbooks/mu-mongo/templates/default/mongo_replset_addnodes.js.erb +6 -0
- data/cookbooks/mu-mongo/templates/default/replset_init.js.erb +2 -0
- data/cookbooks/mu-openvpn/CHANGELOG.md +13 -0
- data/cookbooks/mu-openvpn/LICENSE +37 -0
- data/cookbooks/mu-openvpn/README.md +6 -0
- data/cookbooks/mu-openvpn/attributes/default.rb +119 -0
- data/cookbooks/mu-openvpn/metadata.rb +18 -0
- data/cookbooks/mu-openvpn/recipes/default.rb +108 -0
- data/cookbooks/mu-openvpn/templates/default/users.json.erb +42 -0
- data/cookbooks/mu-php54/CHANGELOG.md +12 -0
- data/cookbooks/mu-php54/LICENSE +37 -0
- data/cookbooks/mu-php54/README.md +0 -0
- data/cookbooks/mu-php54/files/centos/php.ini +1802 -0
- data/cookbooks/mu-php54/files/ubuntu/php.ini +1870 -0
- data/cookbooks/mu-php54/metadata.rb +21 -0
- data/cookbooks/mu-php54/recipes/default.rb +97 -0
- data/cookbooks/mu-splunk/CHANGELOG.md +37 -0
- data/cookbooks/mu-splunk/LICENSE +37 -0
- data/cookbooks/mu-splunk/README.md +451 -0
- data/cookbooks/mu-splunk/attributes/default.rb +95 -0
- data/cookbooks/mu-splunk/attributes/upgrade.rb +49 -0
- data/cookbooks/mu-splunk/definitions/splunk_installer.rb +103 -0
- data/cookbooks/mu-splunk/files/default/splunk-nocheck +10 -0
- data/cookbooks/mu-splunk/libraries/helpers.rb +72 -0
- data/cookbooks/mu-splunk/libraries/splunk_app_provider.rb +156 -0
- data/cookbooks/mu-splunk/libraries/splunk_app_resource.rb +43 -0
- data/cookbooks/mu-splunk/metadata.json +30 -0
- data/cookbooks/mu-splunk/metadata.rb +17 -0
- data/cookbooks/mu-splunk/recipes/client.rb +143 -0
- data/cookbooks/mu-splunk/recipes/default.rb +31 -0
- data/cookbooks/mu-splunk/recipes/disabled.rb +41 -0
- data/cookbooks/mu-splunk/recipes/install_forwarder.rb +23 -0
- data/cookbooks/mu-splunk/recipes/install_server.rb +23 -0
- data/cookbooks/mu-splunk/recipes/server.rb +53 -0
- data/cookbooks/mu-splunk/recipes/service.rb +95 -0
- data/cookbooks/mu-splunk/recipes/setup_auth.rb +49 -0
- data/cookbooks/mu-splunk/recipes/setup_ssl.rb +63 -0
- data/cookbooks/mu-splunk/recipes/upgrade.rb +94 -0
- data/cookbooks/mu-splunk/recipes/user.rb +34 -0
- data/cookbooks/mu-splunk/templates/default/base_logs_unix_inputs.conf.erb +26 -0
- data/cookbooks/mu-splunk/templates/default/inputs.conf.erb +13 -0
- data/cookbooks/mu-splunk/templates/default/outputs.conf.erb +9 -0
- data/cookbooks/mu-splunk/templates/default/splunk-init.erb +74 -0
- data/cookbooks/mu-splunk/templates/default/system-web.conf.erb +7 -0
- data/cookbooks/mu-tools/CHANGELOG.md +12 -0
- data/cookbooks/mu-tools/LICENSE +37 -0
- data/cookbooks/mu-tools/README.md +188 -0
- data/cookbooks/mu-tools/attributes/default.rb +142 -0
- data/cookbooks/mu-tools/attributes/ebs_rolling_snapshots.rb +3 -0
- data/cookbooks/mu-tools/files/amazon/etc/freshclam.conf +235 -0
- data/cookbooks/mu-tools/files/centos/CentOS-Base.repo +52 -0
- data/cookbooks/mu-tools/files/centos/etc/bashrc +93 -0
- data/cookbooks/mu-tools/files/centos/etc/freshclam.conf +235 -0
- data/cookbooks/mu-tools/files/centos/etc/login.defs +72 -0
- data/cookbooks/mu-tools/files/centos/etc/profile +77 -0
- data/cookbooks/mu-tools/files/centos/etc/security/limits.conf +57 -0
- data/cookbooks/mu-tools/files/centos/etc/sysconfig/init +19 -0
- data/cookbooks/mu-tools/files/centos/etc/sysctl.conf +82 -0
- data/cookbooks/mu-tools/files/centos-6/README_MU +0 -0
- data/cookbooks/mu-tools/files/centos-6/etc/audit/stig.rules +173 -0
- data/cookbooks/mu-tools/files/centos-6/etc/bashrc +90 -0
- data/cookbooks/mu-tools/files/centos-6/etc/login.defs +70 -0
- data/cookbooks/mu-tools/files/centos-6/etc/pam.d/su +12 -0
- data/cookbooks/mu-tools/files/centos-6/etc/profile +83 -0
- data/cookbooks/mu-tools/files/centos-6/etc/securetty +12 -0
- data/cookbooks/mu-tools/files/centos-6/etc/sysconfig/init +30 -0
- data/cookbooks/mu-tools/files/centos-6/etc/sysctl.conf +40 -0
- data/cookbooks/mu-tools/files/default/Mu_CA.pem +34 -0
- data/cookbooks/mu-tools/files/default/PSWindowsUpdate.zip +0 -0
- data/cookbooks/mu-tools/files/default/ebs_snapshots.py +123 -0
- data/cookbooks/mu-tools/files/default/etc/BANNER +0 -0
- data/cookbooks/mu-tools/files/default/etc/BANNER-FEDERAL +19 -0
- data/cookbooks/mu-tools/files/default/gpo_no_uac.zip +0 -0
- data/cookbooks/mu-tools/files/default/mypol.pp +0 -0
- data/cookbooks/mu-tools/files/default/mypol.te +37 -0
- data/cookbooks/mu-tools/files/default/nrpe_c7.pp +0 -0
- data/cookbooks/mu-tools/files/default/nrpe_c7.te +31 -0
- data/cookbooks/mu-tools/files/default/nrpe_check_disk.pp +0 -0
- data/cookbooks/mu-tools/files/default/nrpe_check_disk.te +11 -0
- data/cookbooks/mu-tools/files/default/nrpe_disk.pp +0 -0
- data/cookbooks/mu-tools/files/default/nrpe_disk.te +10 -0
- data/cookbooks/mu-tools/files/default/nrpe_file.pp +0 -0
- data/cookbooks/mu-tools/files/default/nrpe_file.te +31 -0
- data/cookbooks/mu-tools/files/default/ntrights +0 -0
- data/cookbooks/mu-tools/files/default/serverclass.conf +18 -0
- data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_unix/local/app.conf +1 -0
- data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_unix/local/inputs.conf +13 -0
- data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_windows/local/app.conf +1 -0
- data/cookbooks/mu-tools/files/default/splunk-apps/base_logs_windows/local/inputs.conf +8 -0
- data/cookbooks/mu-tools/files/default/sshd_pol.pp +0 -0
- data/cookbooks/mu-tools/files/default/sshd_pol.te +32 -0
- data/cookbooks/mu-tools/files/redhat/etc/bashrc +93 -0
- data/cookbooks/mu-tools/files/redhat/etc/freshclam.conf +235 -0
- data/cookbooks/mu-tools/files/redhat/etc/login.defs +72 -0
- data/cookbooks/mu-tools/files/redhat/etc/profile +77 -0
- data/cookbooks/mu-tools/files/redhat/etc/security/limits.conf +57 -0
- data/cookbooks/mu-tools/files/redhat/etc/sysconfig/init +19 -0
- data/cookbooks/mu-tools/files/redhat/etc/sysctl.conf +82 -0
- data/cookbooks/mu-tools/files/redhat-6/README_MU +0 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/audit/stig.rules +173 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/bashrc +90 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/login.defs +70 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/pam.d/su +12 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/profile +83 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/securetty +12 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/sysconfig/init +30 -0
- data/cookbooks/mu-tools/files/redhat-6/etc/sysctl.conf +40 -0
- data/cookbooks/mu-tools/files/redhat-7.1/etc/freshclam.conf +235 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/bash.bashrc +64 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/common-session +30 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/login.defs +338 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/profile +30 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/security/limits.conf +56 -0
- data/cookbooks/mu-tools/files/ubuntu-12.04/etc/sysctl.conf +60 -0
- data/cookbooks/mu-tools/libraries/helper.rb +292 -0
- data/cookbooks/mu-tools/metadata.rb +28 -0
- data/cookbooks/mu-tools/recipes/add_admin_ssh_keys.rb +35 -0
- data/cookbooks/mu-tools/recipes/apply_security.rb +440 -0
- data/cookbooks/mu-tools/recipes/aws_api.rb +23 -0
- data/cookbooks/mu-tools/recipes/base_repositories.rb +31 -0
- data/cookbooks/mu-tools/recipes/cisbenchmark.rb +59 -0
- data/cookbooks/mu-tools/recipes/clamav.rb +53 -0
- data/cookbooks/mu-tools/recipes/cloudinit.rb +58 -0
- data/cookbooks/mu-tools/recipes/configure_oracle_tools.rb +81 -0
- data/cookbooks/mu-tools/recipes/disable-requiretty.rb +22 -0
- data/cookbooks/mu-tools/recipes/ebs_rolling_snapshots.rb +75 -0
- data/cookbooks/mu-tools/recipes/efs.rb +70 -0
- data/cookbooks/mu-tools/recipes/eks.rb +160 -0
- data/cookbooks/mu-tools/recipes/gcloud.rb +98 -0
- data/cookbooks/mu-tools/recipes/google_api.rb +25 -0
- data/cookbooks/mu-tools/recipes/maldet.rb +67 -0
- data/cookbooks/mu-tools/recipes/nagios.rb +19 -0
- data/cookbooks/mu-tools/recipes/newclient.rb +23 -0
- data/cookbooks/mu-tools/recipes/nrpe.rb +115 -0
- data/cookbooks/mu-tools/recipes/python_pip.rb +35 -0
- data/cookbooks/mu-tools/recipes/retrieve_application.rb +51 -0
- data/cookbooks/mu-tools/recipes/rsyslog.rb +65 -0
- data/cookbooks/mu-tools/recipes/set_local_fw.rb +57 -0
- data/cookbooks/mu-tools/recipes/set_mu_hostname.rb +81 -0
- data/cookbooks/mu-tools/recipes/split_var_partitions.rb +86 -0
- data/cookbooks/mu-tools/recipes/splunk-client.rb +69 -0
- data/cookbooks/mu-tools/recipes/splunk-server.rb +104 -0
- data/cookbooks/mu-tools/recipes/store_inspec_attr.rb +8 -0
- data/cookbooks/mu-tools/recipes/updates.rb +96 -0
- data/cookbooks/mu-tools/recipes/windows-client.rb +202 -0
- data/cookbooks/mu-tools/resources/aws_windows.rb +33 -0
- data/cookbooks/mu-tools/resources/disk.rb +88 -0
- data/cookbooks/mu-tools/resources/mommacat_request.rb +11 -0
- data/cookbooks/mu-tools/resources/scheduled_tasks.rb +29 -0
- data/cookbooks/mu-tools/resources/sshd_service.rb +45 -0
- data/cookbooks/mu-tools/resources/windows_users.rb +242 -0
- data/cookbooks/mu-tools/templates/amazon/sshd_config.erb +168 -0
- data/cookbooks/mu-tools/templates/centos-6/sshd_config.erb +212 -0
- data/cookbooks/mu-tools/templates/centos-7/sshd_config.erb +215 -0
- data/cookbooks/mu-tools/templates/default/0-mu-log-client.conf.erb +13 -0
- data/cookbooks/mu-tools/templates/default/conf.maldet.erb +137 -0
- data/cookbooks/mu-tools/templates/default/etc_hosts.erb +30 -0
- data/cookbooks/mu-tools/templates/default/etc_pamd_password-auth.erb +14 -0
- data/cookbooks/mu-tools/templates/default/etc_pamd_system-auth.erb +14 -0
- data/cookbooks/mu-tools/templates/default/etc_sysconfig_network.erb +12 -0
- data/cookbooks/mu-tools/templates/default/kubeconfig.erb +29 -0
- data/cookbooks/mu-tools/templates/default/kubelet.service.erb +35 -0
- data/cookbooks/mu-tools/templates/default/maldet_scanall.sh.erb +15 -0
- data/cookbooks/mu-tools/templates/default/nrpe.cfg.erb +233 -0
- data/cookbooks/mu-tools/templates/redhat-6/sshd_config.erb +213 -0
- data/cookbooks/mu-tools/templates/redhat-7/sshd_config.erb +215 -0
- data/cookbooks/mu-tools/templates/ubuntu-12.04/sshd_config.erb +146 -0
- data/cookbooks/mu-tools/templates/ubuntu-14.04/sshd_config.erb +145 -0
- data/cookbooks/mu-tools/templates/windows/Backup.xml.erb +20 -0
- data/cookbooks/mu-tools/templates/windows/bkupInfo.xml.erb +1 -0
- data/cookbooks/mu-tools/templates/windows/gpreprt.xml.erb +214 -0
- data/cookbooks/mu-tools/templates/windows/gptmpl.inf.erb +12 -0
- data/cookbooks/mu-tools/templates/windows/manifest.xml.erb +1 -0
- data/cookbooks/mu-tools/templates/windows/set_ad_dns_scheduled_task.ps1.erb +6 -0
- data/cookbooks/mu-tools/templates/windows/sshd_config.erb +136 -0
- data/cookbooks/mu-utility/CHANGELOG.md +12 -0
- data/cookbooks/mu-utility/LICENSE +37 -0
- data/cookbooks/mu-utility/README.md +6 -0
- data/cookbooks/mu-utility/attributes/default.rb +1 -0
- data/cookbooks/mu-utility/libraries/matchers.rb +21 -0
- data/cookbooks/mu-utility/metadata.rb +16 -0
- data/cookbooks/mu-utility/recipes/apt.rb +23 -0
- data/cookbooks/mu-utility/recipes/cleanup_image_helper.rb +118 -0
- data/cookbooks/mu-utility/recipes/iptables.rb +26 -0
- data/cookbooks/mu-utility/recipes/luks.rb +18 -0
- data/cookbooks/mu-utility/recipes/nat.rb +104 -0
- data/cookbooks/mu-utility/recipes/php.rb +33 -0
- data/cookbooks/mu-utility/recipes/rdp_gateway.rb +83 -0
- data/cookbooks/mu-utility/recipes/remi.rb +44 -0
- data/cookbooks/mu-utility/recipes/vim.rb +26 -0
- data/cookbooks/mu-utility/recipes/windows_basics.rb +37 -0
- data/cookbooks/mu-utility/recipes/zip.rb +26 -0
- data/cookbooks/mu-utility/templates/default/BundleConfig.xml.erb +34 -0
- data/cookbooks/mu-utility/templates/default/config.xml.erb +60 -0
- data/cookbooks/nagios/Berksfile +8 -0
- data/cookbooks/nagios/CHANGELOG.md +589 -0
- data/cookbooks/nagios/CONTRIBUTING.md +11 -0
- data/cookbooks/nagios/LICENSE +37 -0
- data/cookbooks/nagios/README.md +328 -0
- data/cookbooks/nagios/TESTING.md +2 -0
- data/cookbooks/nagios/attributes/config.rb +171 -0
- data/cookbooks/nagios/attributes/default.rb +228 -0
- data/cookbooks/nagios/chefignore +102 -0
- data/cookbooks/nagios/definitions/command.rb +33 -0
- data/cookbooks/nagios/definitions/contact.rb +33 -0
- data/cookbooks/nagios/definitions/contactgroup.rb +33 -0
- data/cookbooks/nagios/definitions/host.rb +33 -0
- data/cookbooks/nagios/definitions/hostdependency.rb +33 -0
- data/cookbooks/nagios/definitions/hostescalation.rb +34 -0
- data/cookbooks/nagios/definitions/hostgroup.rb +33 -0
- data/cookbooks/nagios/definitions/nagios_conf.rb +38 -0
- data/cookbooks/nagios/definitions/resource.rb +33 -0
- data/cookbooks/nagios/definitions/service.rb +33 -0
- data/cookbooks/nagios/definitions/servicedependency.rb +33 -0
- data/cookbooks/nagios/definitions/serviceescalation.rb +34 -0
- data/cookbooks/nagios/definitions/servicegroup.rb +33 -0
- data/cookbooks/nagios/definitions/timeperiod.rb +33 -0
- data/cookbooks/nagios/libraries/base.rb +314 -0
- data/cookbooks/nagios/libraries/command.rb +91 -0
- data/cookbooks/nagios/libraries/contact.rb +230 -0
- data/cookbooks/nagios/libraries/contactgroup.rb +112 -0
- data/cookbooks/nagios/libraries/custom_option.rb +36 -0
- data/cookbooks/nagios/libraries/data_bag_helper.rb +23 -0
- data/cookbooks/nagios/libraries/default.rb +90 -0
- data/cookbooks/nagios/libraries/host.rb +412 -0
- data/cookbooks/nagios/libraries/hostdependency.rb +181 -0
- data/cookbooks/nagios/libraries/hostescalation.rb +173 -0
- data/cookbooks/nagios/libraries/hostgroup.rb +119 -0
- data/cookbooks/nagios/libraries/nagios.rb +282 -0
- data/cookbooks/nagios/libraries/resource.rb +59 -0
- data/cookbooks/nagios/libraries/service.rb +455 -0
- data/cookbooks/nagios/libraries/servicedependency.rb +215 -0
- data/cookbooks/nagios/libraries/serviceescalation.rb +195 -0
- data/cookbooks/nagios/libraries/servicegroup.rb +144 -0
- data/cookbooks/nagios/libraries/timeperiod.rb +160 -0
- data/cookbooks/nagios/libraries/users_helper.rb +54 -0
- data/cookbooks/nagios/metadata.rb +25 -0
- data/cookbooks/nagios/recipes/_load_databag_config.rb +153 -0
- data/cookbooks/nagios/recipes/_load_default_config.rb +241 -0
- data/cookbooks/nagios/recipes/apache.rb +48 -0
- data/cookbooks/nagios/recipes/default.rb +204 -0
- data/cookbooks/nagios/recipes/nginx.rb +82 -0
- data/cookbooks/nagios/recipes/pagerduty.rb +143 -0
- data/cookbooks/nagios/recipes/server_package.rb +40 -0
- data/cookbooks/nagios/recipes/server_source.rb +164 -0
- data/cookbooks/nagios/templates/default/apache2.conf.erb +96 -0
- data/cookbooks/nagios/templates/default/cgi.cfg.erb +266 -0
- data/cookbooks/nagios/templates/default/commands.cfg.erb +13 -0
- data/cookbooks/nagios/templates/default/contacts.cfg.erb +37 -0
- data/cookbooks/nagios/templates/default/hostgroups.cfg.erb +25 -0
- data/cookbooks/nagios/templates/default/hosts.cfg.erb +15 -0
- data/cookbooks/nagios/templates/default/htpasswd.users.erb +6 -0
- data/cookbooks/nagios/templates/default/nagios.cfg.erb +22 -0
- data/cookbooks/nagios/templates/default/nginx.conf.erb +62 -0
- data/cookbooks/nagios/templates/default/pagerduty.cgi.erb +185 -0
- data/cookbooks/nagios/templates/default/resource.cfg.erb +27 -0
- data/cookbooks/nagios/templates/default/servicedependencies.cfg.erb +15 -0
- data/cookbooks/nagios/templates/default/servicegroups.cfg.erb +14 -0
- data/cookbooks/nagios/templates/default/services.cfg.erb +14 -0
- data/cookbooks/nagios/templates/default/templates.cfg.erb +31 -0
- data/cookbooks/nagios/templates/default/timeperiods.cfg.erb +13 -0
- data/cookbooks/s3fs/CHANGELOG.md +13 -0
- data/cookbooks/s3fs/LICENSE +37 -0
- data/cookbooks/s3fs/README.md +6 -0
- data/cookbooks/s3fs/attributes/default.rb +15 -0
- data/cookbooks/s3fs/files/default/fuse-2.9.3.zip +0 -0
- data/cookbooks/s3fs/metadata.rb +16 -0
- data/cookbooks/s3fs/recipes/default.rb +91 -0
- data/data_bags/demo/app.json +7 -0
- data/data_bags/nagios_services/chef.json +6 -0
- data/data_bags/nagios_services/linux_diskspace.json +5 -0
- data/data_bags/nagios_services/momma_cat.json +6 -0
- data/data_bags/nagios_services/mu-master-memory.json +5 -0
- data/data_bags/nagios_services/nagios_ui.json +6 -0
- data/data_bags/nagios_services/node_ssh.json +6 -0
- data/data_bags/nagios_services/ssh.json +6 -0
- data/demo/lambda_test.yaml +29 -0
- data/environments/DEV.json +8 -0
- data/environments/PROD.json +8 -0
- data/environments/dev.json +8 -0
- data/environments/development.json +8 -0
- data/environments/prod.json +8 -0
- data/extras/README.md +1 -0
- data/extras/admin-role-binding.yaml +16 -0
- data/extras/admin-user.yaml +6 -0
- data/extras/aws-auth-cm.yaml.erb +12 -0
- data/extras/clean-stock-amis +48 -0
- data/extras/git-fix-permissions-hook +12 -0
- data/extras/gitlab-eks-helper.sh.erb +20 -0
- data/extras/image-generators/README.md +2 -0
- data/extras/image-generators/aws/centos6.yaml +18 -0
- data/extras/image-generators/aws/centos7-govcloud.yaml +24 -0
- data/extras/image-generators/aws/centos7.yaml +17 -0
- data/extras/image-generators/aws/rhel7.yaml +17 -0
- data/extras/image-generators/aws/win2k12.yaml +16 -0
- data/extras/image-generators/aws/win2k16.yaml +16 -0
- data/extras/image-generators/aws/windows.yaml +18 -0
- data/extras/image-generators/gcp/centos6.yaml +17 -0
- data/extras/lambda_waf_domain_blacklist.py +103 -0
- data/extras/platform_berksfile_base +50 -0
- data/extras/ruby_rpm/build.sh +17 -0
- data/extras/ruby_rpm/muby.spec +44 -0
- data/extras/vault_tools/README.md +6 -0
- data/extras/vault_tools/export_vaults.sh +3 -0
- data/extras/vault_tools/recreate_vaults.sh +5 -0
- data/extras/vault_tools/test_vaults.sh +5 -0
- data/install/README.md +8 -0
- data/install/cfn_create_mu_master.json +1034 -0
- data/install/chef-server.rb.erb +19 -0
- data/install/deprecated-bash-library.sh +1891 -0
- data/install/images/Usage.png +0 -0
- data/install/installer +71 -0
- data/install/jenkinskeys.rb +8 -0
- data/install/user-dot-murc.erb +14 -0
- data/modules/html.erb +19 -0
- data/modules/mommacat.ru +426 -0
- data/modules/mu/cleanup.rb +339 -0
- data/modules/mu/cloud.rb +1446 -0
- data/modules/mu/clouds/README.md +201 -0
- data/modules/mu/clouds/aws/alarm.rb +319 -0
- data/modules/mu/clouds/aws/cache_cluster.rb +1010 -0
- data/modules/mu/clouds/aws/collection.rb +373 -0
- data/modules/mu/clouds/aws/container_cluster.rb +667 -0
- data/modules/mu/clouds/aws/database.rb +1836 -0
- data/modules/mu/clouds/aws/dnszone.rb +911 -0
- data/modules/mu/clouds/aws/firewall_rule.rb +641 -0
- data/modules/mu/clouds/aws/folder.rb +92 -0
- data/modules/mu/clouds/aws/function.rb +349 -0
- data/modules/mu/clouds/aws/group.rb +251 -0
- data/modules/mu/clouds/aws/loadbalancer.rb +888 -0
- data/modules/mu/clouds/aws/log.rb +363 -0
- data/modules/mu/clouds/aws/msg_queue.rb +480 -0
- data/modules/mu/clouds/aws/notification.rb +139 -0
- data/modules/mu/clouds/aws/role.rb +656 -0
- data/modules/mu/clouds/aws/search_domain.rb +646 -0
- data/modules/mu/clouds/aws/server.rb +2294 -0
- data/modules/mu/clouds/aws/server_pool.rb +1388 -0
- data/modules/mu/clouds/aws/storage_pool.rb +495 -0
- data/modules/mu/clouds/aws/user.rb +382 -0
- data/modules/mu/clouds/aws/userdata/README.md +4 -0
- data/modules/mu/clouds/aws/userdata/linux.erb +179 -0
- data/modules/mu/clouds/aws/userdata/windows.erb +278 -0
- data/modules/mu/clouds/aws/vpc.rb +1943 -0
- data/modules/mu/clouds/aws.rb +1009 -0
- data/modules/mu/clouds/cloudformation/alarm.rb +146 -0
- data/modules/mu/clouds/cloudformation/cache_cluster.rb +167 -0
- data/modules/mu/clouds/cloudformation/collection.rb +117 -0
- data/modules/mu/clouds/cloudformation/database.rb +278 -0
- data/modules/mu/clouds/cloudformation/dnszone.rb +274 -0
- data/modules/mu/clouds/cloudformation/firewall_rule.rb +308 -0
- data/modules/mu/clouds/cloudformation/loadbalancer.rb +193 -0
- data/modules/mu/clouds/cloudformation/log.rb +170 -0
- data/modules/mu/clouds/cloudformation/server.rb +370 -0
- data/modules/mu/clouds/cloudformation/server_pool.rb +279 -0
- data/modules/mu/clouds/cloudformation/vpc.rb +322 -0
- data/modules/mu/clouds/cloudformation.rb +733 -0
- data/modules/mu/clouds/docker.rb +30 -0
- data/modules/mu/clouds/google/container_cluster.rb +290 -0
- data/modules/mu/clouds/google/database.rb +152 -0
- data/modules/mu/clouds/google/firewall_rule.rb +267 -0
- data/modules/mu/clouds/google/group.rb +164 -0
- data/modules/mu/clouds/google/loadbalancer.rb +479 -0
- data/modules/mu/clouds/google/server.rb +1510 -0
- data/modules/mu/clouds/google/server_pool.rb +274 -0
- data/modules/mu/clouds/google/user.rb +266 -0
- data/modules/mu/clouds/google/userdata/README.md +4 -0
- data/modules/mu/clouds/google/userdata/linux.erb +137 -0
- data/modules/mu/clouds/google/userdata/windows.erb +275 -0
- data/modules/mu/clouds/google/vpc.rb +890 -0
- data/modules/mu/clouds/google.rb +811 -0
- data/modules/mu/config/README.md +11 -0
- data/modules/mu/config/alarm.rb +271 -0
- data/modules/mu/config/cache_cluster.rb +172 -0
- data/modules/mu/config/collection.rb +87 -0
- data/modules/mu/config/container_cluster.rb +103 -0
- data/modules/mu/config/container_cluster.yml +36 -0
- data/modules/mu/config/database.rb +458 -0
- data/modules/mu/config/database.yml +26 -0
- data/modules/mu/config/dnszone.rb +327 -0
- data/modules/mu/config/firewall_rule.rb +118 -0
- data/modules/mu/config/folder.rb +70 -0
- data/modules/mu/config/function.rb +140 -0
- data/modules/mu/config/group.rb +64 -0
- data/modules/mu/config/loadbalancer.rb +482 -0
- data/modules/mu/config/log.rb +47 -0
- data/modules/mu/config/log.yml +6 -0
- data/modules/mu/config/msg_queue.rb +47 -0
- data/modules/mu/config/msg_queue.yml +9 -0
- data/modules/mu/config/notification.rb +44 -0
- data/modules/mu/config/project.rb +71 -0
- data/modules/mu/config/role.rb +102 -0
- data/modules/mu/config/search_domain.rb +61 -0
- data/modules/mu/config/search_domain.yml +25 -0
- data/modules/mu/config/server.rb +587 -0
- data/modules/mu/config/server.yml +8 -0
- data/modules/mu/config/server_pool.rb +216 -0
- data/modules/mu/config/server_pool.yml +71 -0
- data/modules/mu/config/storage_pool.rb +145 -0
- data/modules/mu/config/user.rb +78 -0
- data/modules/mu/config/vpc.rb +743 -0
- data/modules/mu/config/vpc.yml +6 -0
- data/modules/mu/config.rb +2000 -0
- data/modules/mu/defaults/README.md +2 -0
- data/modules/mu/defaults/amazon_images.yaml +121 -0
- data/modules/mu/defaults/google_images.yaml +16 -0
- data/modules/mu/deploy.rb +686 -0
- data/modules/mu/groomer.rb +123 -0
- data/modules/mu/groomers/README.md +58 -0
- data/modules/mu/groomers/chef.rb +1024 -0
- data/modules/mu/kittens.rb +11319 -0
- data/modules/mu/logger.rb +208 -0
- data/modules/mu/master/README.md +27 -0
- data/modules/mu/master/chef.rb +471 -0
- data/modules/mu/master/ldap.rb +1005 -0
- data/modules/mu/master.rb +415 -0
- data/modules/mu/mommacat.rb +2703 -0
- data/modules/mu-load-config.rb +1 -0
- data/modules/mu.rb +724 -0
- data/modules/scratchpad.erb +1 -0
- data/modules/tests/super_complex_bok.yml +41 -0
- data/modules/tests/super_simple_bok.yml +40 -0
- data/mu.gemspec +62 -0
- data/roles/demo-dbservice-configure.json +19 -0
- data/roles/demo-portal-configure.json +19 -0
- data/roles/mu-master-jenkins.json +24 -0
- data/roles/mu-master-nagios-only.json +13 -0
- data/roles/mu-master.json +12 -0
- data/roles/mu-node.json +19 -0
- data/roles/mu-splunk-server.json +13 -0
- data/roles/mu-splunk.json +13 -0
- data/test/clean_up.py +25 -0
- data/test/demo-test-profile/README.md +3 -0
- data/test/demo-test-profile/controls/flask.rb +84 -0
- data/test/demo-test-profile/inspec.lock +7 -0
- data/test/demo-test-profile/inspec.yml +11 -0
- data/test/etco-test-profile/README.md +3 -0
- data/test/etco-test-profile/controls/all-in-one.rb +182 -0
- data/test/etco-test-profile/inspec.lock +7 -0
- data/test/etco-test-profile/inspec.yml +11 -0
- data/test/exec_inspec.py +246 -0
- data/test/exec_mu_install.py +241 -0
- data/test/exec_retry.py +44 -0
- data/test/mu-master-test/README.md +3 -0
- data/test/mu-master-test/controls/all_in_one.rb +557 -0
- data/test/mu-master-test/inspec.lock +3 -0
- data/test/mu-master-test/inspec.yml +11 -0
- data/test/mu-tools-test/README.md +3 -0
- data/test/mu-tools-test/controls/base.rb +265 -0
- data/test/mu-tools-test/inspec.lock +3 -0
- data/test/mu-tools-test/inspec.yml +8 -0
- data/test/simple-server-php-test/README.md +3 -0
- data/test/simple-server-php-test/controls/apachephp.rb +25 -0
- data/test/simple-server-php-test/controls/example.rb +19 -0
- data/test/simple-server-php-test/inspec.lock +7 -0
- data/test/simple-server-php-test/inspec.yml +12 -0
- data/test/simple-server-rails-test/README.md +3 -0
- data/test/simple-server-rails-test/controls/rails.rb +188 -0
- data/test/simple-server-rails-test/inspec.lock +7 -0
- data/test/simple-server-rails-test/inspec.yml +11 -0
- data/test/simple-windows-test/README.md +3 -0
- data/test/simple-windows-test/controls/windows.rb +20 -0
- data/test/simple-windows-test/inspec.lock +7 -0
- data/test/simple-windows-test/inspec.yml +11 -0
- data/test/smoke_test.rb +75 -0
- data/test/wordpress-test/README.md +3 -0
- data/test/wordpress-test/controls/wordpress.rb +97 -0
- data/test/wordpress-test/inspec.lock +7 -0
- data/test/wordpress-test/inspec.yml +11 -0
- metadata +979 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Cookbook Name:: mu-tools
|
|
2
|
+
# Recipe:: nrpe
|
|
3
|
+
#
|
|
4
|
+
# Copyright:: Copyright (c) 2016 eGlobalTech, Inc., all rights reserved
|
|
5
|
+
#
|
|
6
|
+
# Licensed under the BSD-3 license (the "License");
|
|
7
|
+
# you may not use this file except in compliance with the License.
|
|
8
|
+
# You may obtain a copy of the License in the root of the project or at
|
|
9
|
+
#
|
|
10
|
+
# http://egt-labs.com/mu/LICENSE.html
|
|
11
|
+
#
|
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
# See the License for the specific language governing permissions and
|
|
16
|
+
|
|
17
|
+
if !node['application_attributes']['skip_recipes'].include?('nrpe')
|
|
18
|
+
case node['platform_family']
|
|
19
|
+
when "rhel"
|
|
20
|
+
package ['nrpe', 'nagios-plugins-disk', 'nagios-plugins-nrpe', 'nagios-plugins-ssh']
|
|
21
|
+
master_ips = get_mu_master_ips
|
|
22
|
+
master_ips << "127.0.0.1"
|
|
23
|
+
master_ips.uniq!
|
|
24
|
+
|
|
25
|
+
include_recipe "mu-tools::set_local_fw"
|
|
26
|
+
|
|
27
|
+
template "/etc/nagios/nrpe.cfg" do
|
|
28
|
+
source "nrpe.cfg.erb"
|
|
29
|
+
mode 0644
|
|
30
|
+
variables(
|
|
31
|
+
:master_ips => master_ips
|
|
32
|
+
)
|
|
33
|
+
notifies :restart, "service[nrpe]", :delayed
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
service "nrpe" do
|
|
37
|
+
action [:enable, :start]
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
directory "/etc/nagios/nrpe.d" do
|
|
41
|
+
owner "nrpe"
|
|
42
|
+
group "nrpe"
|
|
43
|
+
mode 0755
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
case elversion
|
|
47
|
+
when 7
|
|
48
|
+
%w{nrpe_file.pp nrpe_file.te nrpe_check_disk.te nrpe_check_disk.pp}.each { |f|
|
|
49
|
+
cookbook_file "#{Chef::Config[:file_cache_path]}/#{f}" do
|
|
50
|
+
source f
|
|
51
|
+
end
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
execute "Allow NRPE checks through SELinux" do
|
|
55
|
+
command "/usr/sbin/semodule -i nrpe_file.pp"
|
|
56
|
+
cwd Chef::Config[:file_cache_path]
|
|
57
|
+
not_if "/usr/sbin/semodule -l | grep nrpe_file"
|
|
58
|
+
notifies :restart, "service[nrpe]", :delayed
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
execute "Allow NRPE check_disk through SELinux" do
|
|
62
|
+
command "/usr/sbin/semodule -i nrpe_check_disk.pp"
|
|
63
|
+
cwd Chef::Config[:file_cache_path]
|
|
64
|
+
not_if "/usr/sbin/semodule -l | grep nrpe_check_disk"
|
|
65
|
+
notifies :restart, "service[nrpe]", :delayed
|
|
66
|
+
end
|
|
67
|
+
when 6
|
|
68
|
+
if node['platform'] != 'amazon'
|
|
69
|
+
cookbook_file "nrpe_disk.pp" do
|
|
70
|
+
path "#{Chef::Config[:file_cache_path]}/nrpe_disk.pp"
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
execute "Allow NRPE disk checks through SELinux" do
|
|
74
|
+
command "/usr/sbin/semodule -i nrpe_disk.pp"
|
|
75
|
+
cwd Chef::Config[:file_cache_path]
|
|
76
|
+
not_if "/usr/sbin/semodule -l | grep nrpe_disk"
|
|
77
|
+
notifies :restart, "service[nrpe]", :delayed
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
service "nrpe" do
|
|
83
|
+
action [:enable, :start]
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
nrpe_check "check_disk" do
|
|
87
|
+
command "#{node['nrpe']['plugin_dir']}/check_disk"
|
|
88
|
+
warning_condition '15%'
|
|
89
|
+
critical_condition '5%'
|
|
90
|
+
action :add
|
|
91
|
+
notifies :run, 'execute[selinux permissions]', :immediately if node['platform'] != 'amazon'
|
|
92
|
+
notifies :restart, "service[nrpe]", :delayed
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# execute "chmod o+r /etc/nagios/nrpe.d/check_disk.cfg"
|
|
96
|
+
# file "/etc/nagios/nrpe.d/check_disk.cfg" do
|
|
97
|
+
# mode 0640
|
|
98
|
+
# owner "nagios"
|
|
99
|
+
# group "nagios"
|
|
100
|
+
# end
|
|
101
|
+
|
|
102
|
+
# don't run this every time so it won't restart the NRPE service on every chef run
|
|
103
|
+
if node['platform'] != 'amazon'
|
|
104
|
+
execute "selinux permissions" do
|
|
105
|
+
command "/usr/bin/chcon -R -t nrpe_etc_t /etc/nagios/nrpe.d/"
|
|
106
|
+
notifies :restart, "service[nrpe]", :delayed
|
|
107
|
+
action :nothing
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
service "nrpe" do
|
|
112
|
+
action [:enable, :start]
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name::ecap-tools
|
|
3
|
+
# Recipe:: python_pip
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the BSD-3 license (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License in the root of the project or at
|
|
10
|
+
#
|
|
11
|
+
# http://egt-labs.com/ecap/LICENSE.html
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
#
|
|
19
|
+
#
|
|
20
|
+
# Updates setup_tools and pip by way of pip, which seems to be required before putting pip to any real use
|
|
21
|
+
# Requires an initial python and pip installation
|
|
22
|
+
# For now, linux only. Remove case statement if windows turns out to need it
|
|
23
|
+
|
|
24
|
+
case node['platform']
|
|
25
|
+
when "windows"
|
|
26
|
+
else
|
|
27
|
+
bash "update-pip" do
|
|
28
|
+
code <<-EOF
|
|
29
|
+
# easy_install --upgrade setuptools
|
|
30
|
+
curl https://bootstrap.pypa.io/ez_setup.py | python
|
|
31
|
+
pip install pip --upgrade
|
|
32
|
+
EOF
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: mu-tools
|
|
3
|
+
# Recipe:: retrieve_application
|
|
4
|
+
#
|
|
5
|
+
# This recipe implements the standard method for retrieving an application and placing it on the
|
|
6
|
+
# designated application_volume location. It depends upon the application_attributes node structure
|
|
7
|
+
#
|
|
8
|
+
# Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
|
|
9
|
+
#
|
|
10
|
+
# Licensed under the BSD-3 license (the "License");
|
|
11
|
+
# you may not use this file except in compliance with the License.
|
|
12
|
+
# You may obtain a copy of the License in the root of the project or at
|
|
13
|
+
#
|
|
14
|
+
# http://egt-labs.com/mu/LICENSE.html
|
|
15
|
+
#
|
|
16
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
17
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
+
# See the License for the specific language governing permissions and
|
|
20
|
+
# limitations under the License.
|
|
21
|
+
|
|
22
|
+
$project_id = node['application_attributes']['project']['id']
|
|
23
|
+
$application_repo_password = node['application_attributes']['git']['password']
|
|
24
|
+
$application_repo_name = node['application_attributes']['git']['repo_name']
|
|
25
|
+
$application_repo_username = node['application_attributes']['git']['username']
|
|
26
|
+
$application_repo = node['application_attributes']['git']['repo']
|
|
27
|
+
$application_mount_device = node['application_attributes']['application_volume']['mount_device']
|
|
28
|
+
$application_mount_directory = node['application_attributes']['application_volume']['mount_directory']
|
|
29
|
+
$application_repo_branch = node['application_attributes']['git']['branch']
|
|
30
|
+
|
|
31
|
+
ruby_block "Pull App from Repo" do
|
|
32
|
+
block do
|
|
33
|
+
#we can assume the app directory is present now, from create_application_volume
|
|
34
|
+
Dir.chdir($application_mount_directory)
|
|
35
|
+
git_clone = "git clone https://#{$application_repo_username}:#{$application_repo_password}@#{$application_repo}"
|
|
36
|
+
cmd = Mixlib::ShellOut.new(git_clone)
|
|
37
|
+
cmd.run_command
|
|
38
|
+
# `#{git_clone}`
|
|
39
|
+
unless $application_repo_branch == "master"
|
|
40
|
+
Chef::Log.info("Branching to #{$application_repo_branch}")
|
|
41
|
+
Dir.chdir("#{$application_mount_directory}/#{$application_repo_name}")
|
|
42
|
+
cmd = Mixlib::ShellOut.new("git checkout -b remotes/origin/#{$application_repo_branch}")
|
|
43
|
+
cmd.run_command
|
|
44
|
+
cmd = Mixlib::ShellOut.new("git pull origin #{$application_repo_branch}")
|
|
45
|
+
cmd.run_command
|
|
46
|
+
# `git checkout -b remotes/origin/#{$application_repo_branch}`
|
|
47
|
+
# `git pull origin #{$application_repo_branch}`
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
action :run
|
|
51
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: mu-tools
|
|
3
|
+
# Recipe:: rsyslog
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the BSD-3 license (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License in the root of the project or at
|
|
10
|
+
#
|
|
11
|
+
# http://egt-labs.com/mu/LICENSE.html
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
|
|
19
|
+
if !node['application_attributes']['skip_recipes'].include?('rsyslog')
|
|
20
|
+
case node['platform_family']
|
|
21
|
+
when "rhel", "debian"
|
|
22
|
+
package "rsyslog"
|
|
23
|
+
package "rsyslog-gnutls"
|
|
24
|
+
execute "chcon -R -h -t var_log_t /Mu_Logs" do
|
|
25
|
+
action :nothing
|
|
26
|
+
only_if { ::Dir.exists?("/Mu_Logs") }
|
|
27
|
+
end
|
|
28
|
+
service "rsyslog" do
|
|
29
|
+
action [:enable, :start]
|
|
30
|
+
notifies :run, "execute[chcon -R -h -t var_log_t /Mu_Logs]", :immediately
|
|
31
|
+
end
|
|
32
|
+
if platform_family?("rhel")
|
|
33
|
+
$rsyslog_ssl_ca_path = "/etc/pki/Mu_CA.pem"
|
|
34
|
+
if !platform?("amazon")
|
|
35
|
+
package "policycoreutils-python"
|
|
36
|
+
execute "allow rsyslog to meddle with port 10514" do
|
|
37
|
+
command "/usr/sbin/semanage port -a -t syslogd_port_t -p tcp 10514"
|
|
38
|
+
not_if "/usr/sbin/semanage port -l | grep '^syslog.*10514'"
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
elsif platform_family?("debian")
|
|
43
|
+
include_recipe "mu-utility::apt"
|
|
44
|
+
$rsyslog_ssl_ca_path = "/etc/ssl/Mu_CA.pem"
|
|
45
|
+
package "policycoreutils"
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
if node.name != "MU-MASTER" # XXX I'm sure we can come up with a smarter condition than this
|
|
49
|
+
master_ips = get_mu_master_ips
|
|
50
|
+
# XXX This should prefer a master IP that's in our private subnet, and also
|
|
51
|
+
# be able to tell which ones are private and which are public.
|
|
52
|
+
template "/etc/rsyslog.d/0-mu-log-client.conf" do
|
|
53
|
+
source "0-mu-log-client.conf.erb"
|
|
54
|
+
variables(
|
|
55
|
+
:syslog_server => master_ips.last,
|
|
56
|
+
:ssl_ca_path => $rsyslog_ssl_ca_path
|
|
57
|
+
)
|
|
58
|
+
notifies :restart, "service[rsyslog]", :delayed
|
|
59
|
+
end
|
|
60
|
+
cookbook_file "Mu_CA.pem" do
|
|
61
|
+
path $rsyslog_ssl_ca_path
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: mu-tools
|
|
3
|
+
# Recipe:: set_local_fw
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright (c) 2016 eGlobalTech, Inc., all rights reserved
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the BSD-3 license (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License in the root of the project or at
|
|
10
|
+
#
|
|
11
|
+
# http://egt-labs.com/mu/LICENSE.html
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
master_ips = get_mu_master_ips
|
|
21
|
+
case node['platform']
|
|
22
|
+
when platform_family?('rhel')
|
|
23
|
+
include_recipe 'mu-firewall'
|
|
24
|
+
|
|
25
|
+
if elversion >= 7 # Can use firewalld, but not if iptables is already rigged
|
|
26
|
+
package "firewall-config" do
|
|
27
|
+
not_if "/bin/systemctl list-units | grep iptables.service"
|
|
28
|
+
end
|
|
29
|
+
execute "restart FirewallD" do # ...but only if iptables isn't live
|
|
30
|
+
command "/bin/firewall-cmd --reload"
|
|
31
|
+
action :nothing
|
|
32
|
+
not_if "/bin/systemctl list-units | grep iptables.service"
|
|
33
|
+
only_if { ::File.exists?("/bin/firewall-cmd") }
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
if elversion <= 6
|
|
38
|
+
firewall_rule "Allow loopback in" do
|
|
39
|
+
raw "-A INPUT -i lo -j ACCEPT"
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
firewall_rule "Allow loopback out" do
|
|
43
|
+
raw "-A OUTPUT -o lo -j ACCEPT"
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
opento = master_ips.map { |x| "#{x}/32"}
|
|
48
|
+
|
|
49
|
+
opento.uniq.each { |src|
|
|
50
|
+
[:tcp, :udp, :icmp].each { |proto|
|
|
51
|
+
firewall_rule "allow all #{src} #{proto.to_s} traffic" do
|
|
52
|
+
source src
|
|
53
|
+
protocol proto
|
|
54
|
+
end
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: mu-tools
|
|
3
|
+
# Recipe:: set_mu_hostname
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the BSD-3 license (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License in the root of the project or at
|
|
10
|
+
#
|
|
11
|
+
# http://egt-labs.com/mu/LICENSE.html
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
|
|
19
|
+
if !node['application_attributes']['skip_recipes'].include?('set_mu_hostname')
|
|
20
|
+
$hostname = node.name
|
|
21
|
+
if !node['ad']['computer_name'].nil? and !node['ad']['computer_name'].empty?
|
|
22
|
+
$hostname = node['ad']['computer_name']
|
|
23
|
+
end rescue NoMethodError
|
|
24
|
+
$ipaddress = node['ipaddress']
|
|
25
|
+
|
|
26
|
+
if !platform_family?("windows")
|
|
27
|
+
sibs=get_sibling_nodes(node)
|
|
28
|
+
|
|
29
|
+
template "/etc/hosts" do
|
|
30
|
+
source "etc_hosts.erb"
|
|
31
|
+
variables(
|
|
32
|
+
hostname: $hostname,
|
|
33
|
+
ipaddress: $ipaddress,
|
|
34
|
+
nodes: sibs
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
case node['platform']
|
|
40
|
+
when "rhel", "centos", "amazon"
|
|
41
|
+
template "/etc/sysconfig/network" do
|
|
42
|
+
source "etc_sysconfig_network.erb"
|
|
43
|
+
notifies :run, "execute[set hostname]", :immediately if elversion != 7
|
|
44
|
+
variables(
|
|
45
|
+
hostname: $hostname,
|
|
46
|
+
platform: node['platform']
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
if elversion == 7 and File.exists?("/etc/cloud/cloud.cfg")
|
|
51
|
+
execute "sed -i '/ssh_pwauth/a preserve_hostname: true' /etc/cloud/cloud.cfg" do
|
|
52
|
+
not_if "grep 'preserve_hostname: true' /etc/cloud/cloud.cfg"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
execute "hostnamectl set-hostname #{$hostname} --static && systemctl restart systemd-hostnamed" do
|
|
56
|
+
# not_if "hostnamectl | grep Static | grep #{$hostname.downcase}"
|
|
57
|
+
not_if "grep #{$hostname} /etc/hostname"
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
file "/etc/hostname" do
|
|
61
|
+
content $hostname
|
|
62
|
+
end
|
|
63
|
+
else
|
|
64
|
+
execute "set hostname" do
|
|
65
|
+
command "hostname #{$hostname}"
|
|
66
|
+
not_if "test \"`hostname`\" = \"#{$hostname}\" "
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
when "ubuntu"
|
|
70
|
+
execute "set hostname" do
|
|
71
|
+
command "hostname #{$hostname}"
|
|
72
|
+
not_if "test \"`hostname`\" = \"#{$hostname}\" "
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
file "/etc/hostname" do
|
|
76
|
+
content $hostname
|
|
77
|
+
end
|
|
78
|
+
else
|
|
79
|
+
Chef::Log.info("Unsupported platform #{node['platform']}")
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: mu-tools
|
|
3
|
+
# Recipe:: default
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the BSD-3 license (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License in the root of the project or at
|
|
10
|
+
#
|
|
11
|
+
# http://egt-labs.com/mu/LICENSE.html
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
|
|
19
|
+
# This recipe attempts to create a series of separate partitions to be mounted
|
|
20
|
+
# in lieu of having /var be part of your root volume. It makes a lot of brittle
|
|
21
|
+
# assumptions and is overall a dodgy procedure. If you find it useful, it is
|
|
22
|
+
# recommended you only use this when building new baseline images, rather than
|
|
23
|
+
# make it part of your regular build process.
|
|
24
|
+
|
|
25
|
+
if !node['application_attributes']['skip_recipes'].include?('split_var_partitions')
|
|
26
|
+
log "*************** "+node['platform']
|
|
27
|
+
case node['platform']
|
|
28
|
+
when "redhat", "rhel", "centos", "amazon"
|
|
29
|
+
|
|
30
|
+
include_recipe "mu-tools::aws_api"
|
|
31
|
+
include_recipe "mu-tools::google_api"
|
|
32
|
+
|
|
33
|
+
# Moving /var data around and setting up the mounts means interfering
|
|
34
|
+
# with a bunch of stuff writing /var. Make an attempt to turn the stuff
|
|
35
|
+
# off.
|
|
36
|
+
execute "make auditd stoppable" do
|
|
37
|
+
command "sed -i s/RefuseManualStop=yes/RefuseManualStop=no/ /usr/lib/systemd/system/auditd.service"
|
|
38
|
+
only_if "grep ^RefuseManualStop=yes /usr/lib/systemd/system/auditd.service"
|
|
39
|
+
action :nothing
|
|
40
|
+
end
|
|
41
|
+
services = ["rsyslog", "postfix", "acpid", "NetworkManager", "dbus", "auditd"]
|
|
42
|
+
services.each { |svc|
|
|
43
|
+
begin
|
|
44
|
+
resources("service[#{svc}]")
|
|
45
|
+
rescue Chef::Exceptions::ResourceNotFound
|
|
46
|
+
service svc do
|
|
47
|
+
action :nothing
|
|
48
|
+
ignore_failure true
|
|
49
|
+
if svc == "auditd"
|
|
50
|
+
notifies :run, "execute[make auditd stoppable]", :before
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
execute "umount /var/tmp" do
|
|
57
|
+
ignore_failure true
|
|
58
|
+
action :nothing
|
|
59
|
+
end
|
|
60
|
+
["var_log_audit", "var_log", "var"].each { |volume|
|
|
61
|
+
mu_tools_disk node['application_attributes'][volume]['mount_directory'] do
|
|
62
|
+
device node['application_attributes'][volume]['mount_device']
|
|
63
|
+
size node['application_attributes'][volume]['volume_size_gb']
|
|
64
|
+
preserve_data true
|
|
65
|
+
reboot_after_create true
|
|
66
|
+
services.each { |svc|
|
|
67
|
+
notifies :stop, "service[#{svc}]", :before
|
|
68
|
+
}
|
|
69
|
+
notifies :run, "execute[umount /var/tmp]", :before if volume == "var"
|
|
70
|
+
end
|
|
71
|
+
}
|
|
72
|
+
["var", "var_log", "var_log_audit"].each { |volume|
|
|
73
|
+
mu_tools_disk "properly mount #{volume}" do
|
|
74
|
+
mountpoint node['application_attributes'][volume]['mount_directory']
|
|
75
|
+
device node['application_attributes'][volume]['mount_device']
|
|
76
|
+
not_if "awk '{print $2}' < /etc/mtab | grep '^#{node['application_attributes'][volume]['mount_directory']}$'"
|
|
77
|
+
end
|
|
78
|
+
}
|
|
79
|
+
execute "restorecon -Rv /var" do
|
|
80
|
+
not_if "ls -aZ /var | grep ':var_t:'"
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
else
|
|
84
|
+
Chef::Log.info("Unsupported platform #{node['platform']}")
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: mu-tools
|
|
3
|
+
# Recipe:: splunk-client
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the BSD-3 license (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License in the root of the project or at
|
|
10
|
+
#
|
|
11
|
+
# http://egt-labs.com/mu/LICENSE.html
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
|
|
19
|
+
include_recipe "mu-splunk::client"
|
|
20
|
+
|
|
21
|
+
if node['splunk']['discovery'] == "groupname"
|
|
22
|
+
splunk_servers = search(
|
|
23
|
+
:node,
|
|
24
|
+
"splunk_is_server:true AND splunk_groupname:#{node['splunk_groupname']}"
|
|
25
|
+
).sort! do
|
|
26
|
+
|a, b|
|
|
27
|
+
a.name <=> b.name
|
|
28
|
+
end
|
|
29
|
+
else
|
|
30
|
+
splunk_servers = search(# ~FC003
|
|
31
|
+
:node,
|
|
32
|
+
"splunk_is_server:true AND chef_environment:#{node.chef_environment}"
|
|
33
|
+
).sort! do
|
|
34
|
+
|a, b|
|
|
35
|
+
a.name <=> b.name
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
splunk_auth_info = chef_vault_item(node['splunk']['auth']['data_bag'], node['splunk']['auth']['data_bag_item'])['auth']
|
|
40
|
+
user, pw = splunk_auth_info.split(':')
|
|
41
|
+
|
|
42
|
+
if node['platform_family'] != "windows"
|
|
43
|
+
deploy_guard = "#{splunk_dir}/etc/.setup_deploy_poll"
|
|
44
|
+
file deploy_guard do
|
|
45
|
+
content 'true\n'
|
|
46
|
+
owner 'root'
|
|
47
|
+
group 'root'
|
|
48
|
+
mode 00600
|
|
49
|
+
action :nothing
|
|
50
|
+
end
|
|
51
|
+
else
|
|
52
|
+
deploy_guard = "#{splunk_dir}/etc/setup_deploy_poll"
|
|
53
|
+
file deploy_guard do
|
|
54
|
+
content 'true\n'
|
|
55
|
+
action :nothing
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
deploy_svr = splunk_servers.first
|
|
60
|
+
if !deploy_svr.nil?
|
|
61
|
+
execute 'Splunk client poll for deploy server' do
|
|
62
|
+
command "\"#{splunk_cmd}\" set deploy-poll #{deploy_svr['splunk']['receiver_ip']}:8089 -auth #{user}:#{pw}"
|
|
63
|
+
not_if { ::File.exists?(deploy_guard) }
|
|
64
|
+
notifies :create, "file[#{deploy_guard}]", :immediately
|
|
65
|
+
notifies :restart, "service[splunk]", :delayed
|
|
66
|
+
end
|
|
67
|
+
else
|
|
68
|
+
Chef::Log.info ("Configured to run a Splunk client, but no Splunk servers were found.")
|
|
69
|
+
end
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: mu-tools
|
|
3
|
+
# Recipe:: splunk-server
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the BSD-3 license (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License in the root of the project or at
|
|
10
|
+
#
|
|
11
|
+
# http://egt-labs.com/mu/LICENSE.html
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
|
|
19
|
+
[443, 8089, 9997].each { |port|
|
|
20
|
+
bash "Allow #{port} through iptables for Splunk" do
|
|
21
|
+
user "root"
|
|
22
|
+
not_if "/sbin/iptables -nL | egrep '^ACCEPT.*dpt:#{port}($| )'"
|
|
23
|
+
code <<-EOH
|
|
24
|
+
iptables -I INPUT -p tcp --dport #{port} -j ACCEPT
|
|
25
|
+
service iptables save
|
|
26
|
+
EOH
|
|
27
|
+
end
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if !node['splunk']['splunkdb']['dev'].nil?
|
|
31
|
+
directory node['splunk']['splunkdb']['path'] do
|
|
32
|
+
recursive true
|
|
33
|
+
end
|
|
34
|
+
execute "mkfs.ext4 #{node['splunk']['splunkdb']['dev']}" do
|
|
35
|
+
not_if "tune2fs -l #{node['splunk']['splunkdb']['dev']}"
|
|
36
|
+
end
|
|
37
|
+
mount node['splunk']['splunkdb']['path'] do
|
|
38
|
+
device node['splunk']['splunkdb']['dev']
|
|
39
|
+
action [:mount, :enable]
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
include_recipe "mu-splunk::server"
|
|
44
|
+
|
|
45
|
+
if node['splunk']['splunkdb']['path'] != "/opt/splunk/var/lib/splunk"
|
|
46
|
+
execute "set SPLUNK_DB path in splunk-launch.conf to #{node['splunk']['splunkdb']['path']}" do
|
|
47
|
+
command "sed -i 's/^ *SPLUNK_DB//' /opt/splunk/etc/splunk-launch.conf ; echo 'SPLUNK_DB=#{node['splunk']['splunkdb']['path']}' >> /opt/splunk/etc/splunk-launch.conf; chown splunk:splunk #{node['splunk']['splunkdb']['path']}"
|
|
48
|
+
not_if "grep '^SPLUNK_DB=#{node['splunk']['splunkdb']['path']}'"
|
|
49
|
+
notifies :restart, "service[splunk]", :immediately
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
if node['splunk']['minfreespace'] != 5000
|
|
54
|
+
server_conf = "/opt/splunk/etc/system/local/server.conf"
|
|
55
|
+
execute "set minFreeSpace in #{server_conf}" do
|
|
56
|
+
command "echo '[diskUsage]' >> #{server_conf}; echo 'minFreeSpace = #{node['splunk']['minfreespace']}' >> #{server_conf}"
|
|
57
|
+
not_if "grep '^minFreeSpace = #{node['splunk']['minfreespace']}$' #{server_conf}"
|
|
58
|
+
notifies :restart, "service[splunk]", :immediately
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
file "/opt/splunk/etc/.ui_login"
|
|
63
|
+
|
|
64
|
+
remote_directory "/opt/splunk/etc/deployment-apps/" do
|
|
65
|
+
files_mode "0644"
|
|
66
|
+
files_owner "splunk"
|
|
67
|
+
mode "0744"
|
|
68
|
+
owner "splunk"
|
|
69
|
+
source "splunk-apps"
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
cookbook_file "/opt/splunk/etc/system/local/serverclass.conf" do
|
|
73
|
+
source "serverclass.conf"
|
|
74
|
+
mode "0644"
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
if node['splunk']['license'] != nil
|
|
78
|
+
directory "/opt/splunk/etc/licenses/enterprise" do
|
|
79
|
+
owner "splunk"
|
|
80
|
+
group "splunk"
|
|
81
|
+
mode 00644
|
|
82
|
+
action :create
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
if !node['splunk']['license_cookbook'].nil? and !node['splunk']['license_cookbook'].empty?
|
|
86
|
+
cookbook_file "/opt/splunk/etc/licenses/enterprise/Splunk.license" do
|
|
87
|
+
source "splunk.license"
|
|
88
|
+
cookbook node['splunk']['license_cookbook']
|
|
89
|
+
notifies :restart, "service[splunk]", :immediately
|
|
90
|
+
end
|
|
91
|
+
end rescue NoMethodError
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
#splunk_auth_info = chef_vault_item(node['splunk'][:auth][:data_bag], node['splunk'][:auth][:data_bag_item])['auth']
|
|
95
|
+
#admin_user, admin_pw = splunk_auth_info.split(':')
|
|
96
|
+
#
|
|
97
|
+
#node[:deployment][:admins].each_pair { |name, data|
|
|
98
|
+
# execute "add #{data['email']} as Splunk power user" do
|
|
99
|
+
# user "splunk"
|
|
100
|
+
# command "/opt/splunk/bin/splunk add user #{data['email']} -password changeme -role admin -email #{data['email']} -full-name '#{name}' -auth #{admin_user}:#{admin_pw}"
|
|
101
|
+
# not_if "grep ^:#{data['email']}: /opt/splunk/etc/passwd"
|
|
102
|
+
# end
|
|
103
|
+
#}
|
|
104
|
+
|