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,197 @@
|
|
|
1
|
+
#! /usr/bin/perl -w
|
|
2
|
+
#
|
|
3
|
+
# $Id: check_mem.pl 8 2008-08-23 08:59:52Z rhomann $
|
|
4
|
+
#
|
|
5
|
+
# check_mem v1.7 plugin for nagios
|
|
6
|
+
#
|
|
7
|
+
# uses the output of `free` to find the percentage of memory used
|
|
8
|
+
#
|
|
9
|
+
# Copyright Notice: GPL
|
|
10
|
+
#
|
|
11
|
+
# History:
|
|
12
|
+
# v1.8 Rouven Homann - rouven.homann@cimt.de
|
|
13
|
+
# + added findbin patch from Duane Toler
|
|
14
|
+
# + added backward compatibility patch from Timour Ezeev
|
|
15
|
+
#
|
|
16
|
+
# v1.7 Ingo Lantschner - ingo AT boxbe DOT com
|
|
17
|
+
# + adapted for systems with no swap (avoiding divison through 0)
|
|
18
|
+
#
|
|
19
|
+
# v1.6 Cedric Temple - cedric DOT temple AT cedrictemple DOT info
|
|
20
|
+
# + add swap monitoring
|
|
21
|
+
# + if warning and critical threshold are 0, exit with OK
|
|
22
|
+
# + add a directive to exclude/include buffers
|
|
23
|
+
#
|
|
24
|
+
# v1.5 Rouven Homann - rouven.homann@cimt.de
|
|
25
|
+
# + perfomance tweak with free -mt (just one sub process started instead of 7)
|
|
26
|
+
# + more code cleanup
|
|
27
|
+
#
|
|
28
|
+
# v1.4 Garrett Honeycutt - gh@3gupload.com
|
|
29
|
+
# + Fixed PerfData output to adhere to standards and show crit/warn values
|
|
30
|
+
#
|
|
31
|
+
# v1.3 Rouven Homann - rouven.homann@cimt.de
|
|
32
|
+
# + Memory installed, used and free displayed in verbose mode
|
|
33
|
+
# + Bit Code Cleanup
|
|
34
|
+
#
|
|
35
|
+
# v1.2 Rouven Homann - rouven.homann@cimt.de
|
|
36
|
+
# + Bug fixed where verbose output was required (nrpe2)
|
|
37
|
+
# + Bug fixed where perfomance data was not displayed at verbose output
|
|
38
|
+
# + FindBin Module used for the nagios plugin path of the utils.pm
|
|
39
|
+
#
|
|
40
|
+
# v1.1 Rouven Homann - rouven.homann@cimt.de
|
|
41
|
+
# + Status Support (-c, -w)
|
|
42
|
+
# + Syntax Help Informations (-h)
|
|
43
|
+
# + Version Informations Output (-V)
|
|
44
|
+
# + Verbose Output (-v)
|
|
45
|
+
# + Better Error Code Output (as described in plugin guideline)
|
|
46
|
+
#
|
|
47
|
+
# v1.0 Garrett Honeycutt - gh@3gupload.com
|
|
48
|
+
# + Initial Release
|
|
49
|
+
#
|
|
50
|
+
use strict;
|
|
51
|
+
use FindBin;
|
|
52
|
+
FindBin::again();
|
|
53
|
+
use lib $FindBin::Bin;
|
|
54
|
+
use utils qw($TIMEOUT %ERRORS &print_revision &support);
|
|
55
|
+
use vars qw($PROGNAME $PROGVER);
|
|
56
|
+
use Getopt::Long;
|
|
57
|
+
use vars qw($opt_V $opt_h $verbose $opt_w $opt_c);
|
|
58
|
+
|
|
59
|
+
$PROGNAME = "check_mem";
|
|
60
|
+
$PROGVER = "1.8";
|
|
61
|
+
|
|
62
|
+
# add a directive to exclude buffers:
|
|
63
|
+
my $DONT_INCLUDE_BUFFERS = 0;
|
|
64
|
+
|
|
65
|
+
sub print_help ();
|
|
66
|
+
sub print_usage ();
|
|
67
|
+
|
|
68
|
+
Getopt::Long::Configure('bundling');
|
|
69
|
+
GetOptions ("V" => \$opt_V, "version" => \$opt_V,
|
|
70
|
+
"h" => \$opt_h, "help" => \$opt_h,
|
|
71
|
+
"v" => \$verbose, "verbose" => \$verbose,
|
|
72
|
+
"w=s" => \$opt_w, "warning=s" => \$opt_w,
|
|
73
|
+
"c=s" => \$opt_c, "critical=s" => \$opt_c);
|
|
74
|
+
|
|
75
|
+
if ($opt_V) {
|
|
76
|
+
print_revision($PROGNAME,'$Revision: '.$PROGVER.' $');
|
|
77
|
+
exit $ERRORS{'UNKNOWN'};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if ($opt_h) {
|
|
81
|
+
print_help();
|
|
82
|
+
exit $ERRORS{'UNKNOWN'};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
print_usage() unless (($opt_c) && ($opt_w));
|
|
86
|
+
|
|
87
|
+
my ($mem_critical, $swap_critical);
|
|
88
|
+
my ($mem_warning, $swap_warning);
|
|
89
|
+
($mem_critical, $swap_critical) = ($1,$2) if ($opt_c =~ /([0-9]+)[%]?(?:,([0-9]+)[%]?)?/);
|
|
90
|
+
($mem_warning, $swap_warning) = ($1,$2) if ($opt_w =~ /([0-9]+)[%]?(?:,([0-9]+)[%]?)?/);
|
|
91
|
+
|
|
92
|
+
# Check if swap params were supplied
|
|
93
|
+
$swap_critical ||= 100;
|
|
94
|
+
$swap_warning ||= 100;
|
|
95
|
+
|
|
96
|
+
# print threshold in output message
|
|
97
|
+
my $mem_threshold_output = " (";
|
|
98
|
+
my $swap_threshold_output = " (";
|
|
99
|
+
|
|
100
|
+
if ( $mem_warning > 0 && $mem_critical > 0) {
|
|
101
|
+
$mem_threshold_output .= "W> $mem_warning, C> $mem_critical";
|
|
102
|
+
}
|
|
103
|
+
elsif ( $mem_warning > 0 ) {
|
|
104
|
+
$mem_threshold_output .= "W> $mem_warning";
|
|
105
|
+
}
|
|
106
|
+
elsif ( $mem_critical > 0 ) {
|
|
107
|
+
$mem_threshold_output .= "C> $mem_critical";
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if ( $swap_warning > 0 && $swap_critical > 0) {
|
|
111
|
+
$swap_threshold_output .= "W> $swap_warning, C> $swap_critical";
|
|
112
|
+
}
|
|
113
|
+
elsif ( $swap_warning > 0 ) {
|
|
114
|
+
$swap_threshold_output .= "W> $swap_warning";
|
|
115
|
+
}
|
|
116
|
+
elsif ( $swap_critical > 0 ) {
|
|
117
|
+
$swap_threshold_output .= "C> $swap_critical";
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
$mem_threshold_output .= ")";
|
|
121
|
+
$swap_threshold_output .= ")";
|
|
122
|
+
|
|
123
|
+
my $verbose = $verbose;
|
|
124
|
+
|
|
125
|
+
my ($mem_percent, $mem_total, $mem_used, $swap_percent, $swap_total, $swap_used) = &sys_stats();
|
|
126
|
+
my $free_mem = $mem_total - $mem_used;
|
|
127
|
+
my $free_swap = $swap_total - $swap_used;
|
|
128
|
+
|
|
129
|
+
# set output message
|
|
130
|
+
my $output = "Memory Usage".$mem_threshold_output.": ". $mem_percent.'% <br>';
|
|
131
|
+
$output .= "Swap Usage".$swap_threshold_output.": ". $swap_percent.'%';
|
|
132
|
+
|
|
133
|
+
# set verbose output message
|
|
134
|
+
my $verbose_output = "Memory Usage:".$mem_threshold_output.": ". $mem_percent.'% '."- Total: $mem_total MB, used: $mem_used MB, free: $free_mem MB<br>";
|
|
135
|
+
$verbose_output .= "Swap Usage:".$swap_threshold_output.": ". $swap_percent.'% '."- Total: $swap_total MB, used: $swap_used MB, free: $free_swap MB<br>";
|
|
136
|
+
|
|
137
|
+
# set perfdata message
|
|
138
|
+
my $perfdata_output = "MemUsed=$mem_percent\%;$mem_warning;$mem_critical";
|
|
139
|
+
$perfdata_output .= " SwapUsed=$swap_percent\%;$swap_warning;$swap_critical";
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
# if threshold are 0, exit with OK
|
|
143
|
+
if ( $mem_warning == 0 ) { $mem_warning = 101 };
|
|
144
|
+
if ( $swap_warning == 0 ) { $swap_warning = 101 };
|
|
145
|
+
if ( $mem_critical == 0 ) { $mem_critical = 101 };
|
|
146
|
+
if ( $swap_critical == 0 ) { $swap_critical = 101 };
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
if ($mem_percent>$mem_critical || $swap_percent>$swap_critical) {
|
|
150
|
+
if ($verbose) { print "<b>CRITICAL: ".$verbose_output."</b>|".$perfdata_output."\n";}
|
|
151
|
+
else { print "<b>CRITICAL: ".$output."</b>|".$perfdata_output."\n";}
|
|
152
|
+
exit $ERRORS{'CRITICAL'};
|
|
153
|
+
} elsif ($mem_percent>$mem_warning || $swap_percent>$swap_warning) {
|
|
154
|
+
if ($verbose) { print "<b>WARNING: ".$verbose_output."</b>|".$perfdata_output."\n";}
|
|
155
|
+
else { print "<b>WARNING: ".$output."</b>|".$perfdata_output."\n";}
|
|
156
|
+
exit $ERRORS{'WARNING'};
|
|
157
|
+
} else {
|
|
158
|
+
if ($verbose) { print "OK: ".$verbose_output."|".$perfdata_output."\n";}
|
|
159
|
+
else { print "OK: ".$output."|".$perfdata_output."\n";}
|
|
160
|
+
exit $ERRORS{'OK'};
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
sub sys_stats {
|
|
164
|
+
my @memory = split(" ", `free -mt`);
|
|
165
|
+
my $mem_total = $memory[7];
|
|
166
|
+
my $mem_used;
|
|
167
|
+
if ( $DONT_INCLUDE_BUFFERS) { $mem_used = $memory[15]; }
|
|
168
|
+
else { $mem_used = $memory[8];}
|
|
169
|
+
my $swap_total = $memory[18];
|
|
170
|
+
my $swap_used = $memory[19];
|
|
171
|
+
my $mem_percent = ($mem_used / $mem_total) * 100;
|
|
172
|
+
my $swap_percent;
|
|
173
|
+
if ($swap_total == 0) {
|
|
174
|
+
$swap_percent = 0;
|
|
175
|
+
} else {
|
|
176
|
+
$swap_percent = ($swap_used / $swap_total) * 100;
|
|
177
|
+
}
|
|
178
|
+
return (sprintf("%.0f",$mem_percent),$mem_total,$mem_used, sprintf("%.0f",$swap_percent),$swap_total,$swap_used);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
sub print_usage () {
|
|
182
|
+
print "Usage: $PROGNAME -w <warn> -c <crit> [-v] [-h]\n";
|
|
183
|
+
exit $ERRORS{'UNKNOWN'} unless ($opt_h);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
sub print_help () {
|
|
187
|
+
print_revision($PROGNAME,'$Revision: '.$PROGVER.' $');
|
|
188
|
+
print "Copyright (c) 2005 Garrett Honeycutt/Rouven Homann/Cedric Temple\n";
|
|
189
|
+
print "\n";
|
|
190
|
+
print_usage();
|
|
191
|
+
print "\n";
|
|
192
|
+
print "-w <MemoryWarn>,<SwapWarn> = Memory and Swap usage to activate a warning message (eg: -w 90,25 ) .\n";
|
|
193
|
+
print "-c <MemoryCrit>,<SwapCrit> = Memory and Swap usage to activate a critical message (eg: -c 95,50 ).\n";
|
|
194
|
+
print "-v = Verbose Output.\n";
|
|
195
|
+
print "-h = This screen.\n\n";
|
|
196
|
+
support();
|
|
197
|
+
}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
module dirsrv_admin 1.0;
|
|
3
|
+
|
|
4
|
+
require {
|
|
5
|
+
type httpd_t;
|
|
6
|
+
type unreserved_port_t;
|
|
7
|
+
class tcp_socket name_bind;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
#============= httpd_t ==============
|
|
11
|
+
|
|
12
|
+
#!!!! This avc can be allowed using the boolean 'nis_enabled'
|
|
13
|
+
allow httpd_t unreserved_port_t:tcp_socket name_bind;
|
|
Binary file
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module nagios_selinux 1.0;
|
|
2
|
+
|
|
3
|
+
require {
|
|
4
|
+
type nagios_t;
|
|
5
|
+
type usr_t;
|
|
6
|
+
type nagios_log_t;
|
|
7
|
+
type httpd_t;
|
|
8
|
+
type httpd_sys_script_t;
|
|
9
|
+
type httpd_sys_content_t;
|
|
10
|
+
type httpd_sys_script_exec_t;
|
|
11
|
+
type nagios_exec_t;
|
|
12
|
+
type initrc_var_run_t;
|
|
13
|
+
type port_t;
|
|
14
|
+
type ssh_exec_t;
|
|
15
|
+
class capability chown;
|
|
16
|
+
class dir { search read write remove_name add_name };
|
|
17
|
+
class file { create open execute_no_trans read append write getattr setattr lock unlink rename execute };
|
|
18
|
+
class fifo_file { read open getattr write create };
|
|
19
|
+
class sock_file { create write unlink };
|
|
20
|
+
class tcp_socket { name_bind };
|
|
21
|
+
class capability { chown };
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
allow httpd_t nagios_log_t:dir search;
|
|
25
|
+
allow httpd_t nagios_log_t:file { read open };
|
|
26
|
+
allow httpd_t nagios_log_t:fifo_file { read open getattr write };
|
|
27
|
+
allow httpd_t httpd_sys_script_exec_t:fifo_file { read open getattr write };
|
|
28
|
+
allow nagios_t nagios_exec_t:file execute_no_trans;
|
|
29
|
+
allow httpd_sys_script_t nagios_log_t:dir search;
|
|
30
|
+
allow httpd_sys_script_t nagios_log_t:file { read open };
|
|
31
|
+
allow httpd_sys_script_t nagios_log_t:fifo_file { read open getattr write };
|
|
32
|
+
allow httpd_sys_script_t httpd_sys_script_exec_t:fifo_file { read open getattr write };
|
|
33
|
+
allow nagios_t nagios_exec_t:file execute_no_trans;
|
|
34
|
+
allow nagios_t ssh_exec_t:file { getattr execute read open execute_no_trans };
|
|
35
|
+
allow nagios_t self:capability chown;
|
|
36
|
+
allow nagios_t httpd_sys_content_t:dir { read search write remove_name add_name };
|
|
37
|
+
allow nagios_t httpd_sys_script_exec_t:dir { read search write remove_name add_name };
|
|
38
|
+
allow nagios_t nagios_log_t:dir { read search write remove_name add_name };
|
|
39
|
+
allow nagios_t httpd_sys_content_t:file { open read append getattr setattr create write rename };
|
|
40
|
+
allow nagios_t httpd_sys_script_exec_t:file { open read append getattr setattr create write rename };
|
|
41
|
+
allow nagios_t nagios_log_t:file { open read append getattr setattr create write rename };
|
|
42
|
+
allow nagios_t httpd_sys_content_t:sock_file { unlink create write };
|
|
43
|
+
allow nagios_t httpd_sys_script_exec_t:sock_file { unlink create write };
|
|
44
|
+
allow nagios_t nagios_log_t:sock_file { unlink create write };
|
|
45
|
+
allow nagios_t initrc_var_run_t:file { read write open lock unlink };
|
|
46
|
+
allow nagios_t port_t:tcp_socket { name_bind };
|
|
47
|
+
allow nagios_t nagios_t:capability { chown };
|
|
48
|
+
allow nagios_t httpd_sys_script_exec_t:fifo_file { read open getattr write create };
|
|
49
|
+
allow nagios_t nagios_log_t:fifo_file { read open getattr write create };
|
|
50
|
+
allow nagios_t nagios_log_t:fifo_file { read open getattr write create };
|
|
51
|
+
allow nagios_t usr_t:file { read open getattr execute execute_no_trans append };
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module nagios_selinux_7 1.0;
|
|
2
|
+
|
|
3
|
+
require {
|
|
4
|
+
type nagios_t;
|
|
5
|
+
type nagios_etc_t;
|
|
6
|
+
type nrpe_t;
|
|
7
|
+
type httpd_sys_script_t;
|
|
8
|
+
type httpd_sys_content_t;
|
|
9
|
+
class unix_stream_socket connectto;
|
|
10
|
+
class file { read open getattr };
|
|
11
|
+
class dir { search read };
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
allow httpd_sys_script_t nagios_etc_t:file { read open getattr } ;
|
|
15
|
+
allow nagios_t self:unix_stream_socket connectto;
|
|
16
|
+
allow nrpe_t httpd_sys_content_t:dir { read search };
|
|
17
|
+
allow nrpe_t httpd_sys_content_t:file { read open getattr };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#%PAM-1.0
|
|
2
|
+
auth required pam_sepermit.so
|
|
3
|
+
auth include password-auth
|
|
4
|
+
auth sufficient pam_ldap.so use_first_pass
|
|
5
|
+
account required pam_nologin.so
|
|
6
|
+
account include password-auth
|
|
7
|
+
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
|
|
8
|
+
password include password-auth
|
|
9
|
+
password sufficient pam_ldap.so use_authtok
|
|
10
|
+
# pam_selinux.so close should be the first session rule
|
|
11
|
+
session required pam_selinux.so close
|
|
12
|
+
session required pam_loginuid.so
|
|
13
|
+
# pam_selinux.so open should only be followed by sessions to be executed in the user context
|
|
14
|
+
session required pam_selinux.so open env_params
|
|
15
|
+
session optional pam_keyinit.so force revoke
|
|
16
|
+
session include password-auth
|
|
17
|
+
session optional pam_umask.so umask=0077
|
|
18
|
+
session optional pam_ldap.so
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
dn: cn=encryption,cn=config
|
|
2
|
+
changetype: modify
|
|
3
|
+
replace: nsSSL3
|
|
4
|
+
nsSSL3: off
|
|
5
|
+
-
|
|
6
|
+
replace: nsSSLClientAuth
|
|
7
|
+
nsSSLClientAuth: allowed
|
|
8
|
+
-
|
|
9
|
+
add: nsSSL3Ciphers
|
|
10
|
+
nsSSL3Ciphers: +all
|
|
11
|
+
|
|
12
|
+
dn: cn=config
|
|
13
|
+
changetype: modify
|
|
14
|
+
add: nsslapd-security
|
|
15
|
+
nsslapd-security: on
|
|
16
|
+
-
|
|
17
|
+
replace: nsslapd-ssl-check-hostname
|
|
18
|
+
nsslapd-ssl-check-hostname: off
|
|
Binary file
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
set columns=80
|
|
2
|
+
set ts=2
|
|
3
|
+
syntax on
|
|
4
|
+
set shiftwidth=2
|
|
5
|
+
set tabstop=2
|
|
6
|
+
set shiftwidth=2
|
|
7
|
+
set expandtab
|
|
8
|
+
set softtabstop=2
|
|
9
|
+
set smarttab
|
|
10
|
+
set paste
|
|
11
|
+
set autoindent
|
|
12
|
+
set smartindent
|
|
13
|
+
set cinwords=if,else,while,do,for,switch,def,class,elif,try,except,finally
|
|
14
|
+
" fix the syntax highlighting to avoid dark blue comments on a black bg
|
|
15
|
+
hi Comment term=bold ctermfg=DarkCyan guifg=#80a0ff
|
|
16
|
+
" and to get PHP right when working on Drupal
|
|
17
|
+
au BufReadPost *.module set syntax=php
|
|
18
|
+
au BufReadPost *.install set syntax=php
|
|
19
|
+
set viminfo='10,<500,s150,h
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Copyright:: Copyright (c) 2014 eGlobalTech, Inc., all rights reserved
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the BSD-3 license (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License in the root of the project or at
|
|
6
|
+
#
|
|
7
|
+
# http://egt-labs.com/mu/LICENSE.html
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
# This library deals with volume creation and mounting
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# Sets the $MU_CFG hash
|
|
19
|
+
if ENV.include?('MU_LIBDIR')
|
|
20
|
+
require "#{ENV['MU_LIBDIR']}/modules/mu-load-config.rb"
|
|
21
|
+
elsif ENV.include?('MU_INSTALLDIR')
|
|
22
|
+
require "#{ENV['MU_INSTALLDIR']}/lib/modules/mu-load-config.rb"
|
|
23
|
+
elsif File.readable?("/opt/mu/lib/modules/mu-load-config.rb")
|
|
24
|
+
ENV['MU_INSTALLDIR'] = "/opt/mu"
|
|
25
|
+
ENV['MU_LIBDIR'] = "/opt/mu/lib"
|
|
26
|
+
require "/opt/mu/lib/modules/mu-load-config.rb"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
require "mu"
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name 'mu-master'
|
|
2
|
+
maintainer 'Mu'
|
|
3
|
+
maintainer_email 'mu-developers@googlegroups.com'
|
|
4
|
+
license 'BSD-3-Clause'
|
|
5
|
+
description 'Installs/Configures mu-master'
|
|
6
|
+
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
|
7
|
+
source_url 'https://github.com/cloudamatic/mu'
|
|
8
|
+
issues_url 'https://github.com/cloudamatic/mu/issues'
|
|
9
|
+
chef_version '>= 12.1' if respond_to?(:chef_version)
|
|
10
|
+
version '0.9.0'
|
|
11
|
+
|
|
12
|
+
%w( centos ).each do |os|
|
|
13
|
+
supports os
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
depends 'nagios'
|
|
17
|
+
depends 'nrpe', '~> 2.0.3'
|
|
18
|
+
depends 'mu-utility'
|
|
19
|
+
depends 'mu-tools'
|
|
20
|
+
depends 'mu-activedirectory'
|
|
21
|
+
depends 's3fs', '~> 3.0.1'
|
|
22
|
+
depends 'postfix', '~> 5.3.1'
|
|
23
|
+
depends 'bind', '~> 2.2.0'
|
|
24
|
+
depends 'bind9-ng', '~> 0.1.0'
|
|
25
|
+
depends 'mu-firewall'
|
|
26
|
+
depends 'vault-cluster', '~> 2.1.0'
|
|
27
|
+
depends 'consul-cluster', '~> 2.0.0'
|
|
28
|
+
depends 'hostsfile', '~> 3.0.1'
|
|
29
|
+
depends 'chef-vault', '~> 3.1.1'
|
|
30
|
+
depends 'apache2', '< 4.0'
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Cookbook Name:: mu-master
|
|
2
|
+
# Provider:: mu_user
|
|
3
|
+
#
|
|
4
|
+
# Copyright:: Copyright (c) 2017 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
|
+
# limitations under the License.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
require 'mu'
|
|
20
|
+
|
|
21
|
+
action :add do
|
|
22
|
+
allusers = MU::Master.listUsers
|
|
23
|
+
password = nil
|
|
24
|
+
if !allusers.has_key?(new_resource.username)
|
|
25
|
+
password = new_resource.password || MU.generateWindowsPassword
|
|
26
|
+
end
|
|
27
|
+
new_resource.admin ||= false
|
|
28
|
+
::MU::Master.manageUser(
|
|
29
|
+
new_resource.username,
|
|
30
|
+
name: new_resource.realname,
|
|
31
|
+
password: password,
|
|
32
|
+
email: new_resource.email,
|
|
33
|
+
admin: new_resource.admin,
|
|
34
|
+
orgs: new_resource.orgs,
|
|
35
|
+
remove_orgs: new_resource.remove_orgs
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
action :delete do
|
|
40
|
+
::MU::Master.deleteUser(new_resource.username)
|
|
41
|
+
end
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: mu-master
|
|
3
|
+
# Recipe:: 389ds
|
|
4
|
+
#
|
|
5
|
+
# Copyright:: Copyright (c) 2017 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-master::firewall-holes'
|
|
20
|
+
|
|
21
|
+
package ["389-ds", "389-ds-console"]
|
|
22
|
+
|
|
23
|
+
include_recipe 'chef-vault'
|
|
24
|
+
|
|
25
|
+
# How to completely undo all of this: service dirsrv stop ; pkill ns-slapd ; yum erase -y 389-ds 389-ds-console 389-ds-base 389-admin 389-adminutil 389-console 389-ds-base-libs; rm -rf /etc/dirsrv /var/lib/dirsrv /var/log/dirsrv /var/lock/dirsrv /var/run/dirsrv /etc/sysconfig/dirsrv* /usr/lib64/dirsrv /usr/share/dirsrv; knife data bag delete -y mu_ldap
|
|
26
|
+
|
|
27
|
+
# Retrieve credentials we need to do LDAP things. Generate from scratch if they
|
|
28
|
+
# haven't been provided.
|
|
29
|
+
$CREDS = {
|
|
30
|
+
"bind_creds" => {
|
|
31
|
+
"user" => "CN=mu_bind_creds,#{$MU_CFG["ldap"]['user_ou']}"
|
|
32
|
+
},
|
|
33
|
+
"join_creds" => {
|
|
34
|
+
"user" => "CN=mu_join_creds,#{$MU_CFG["ldap"]['user_ou']}"
|
|
35
|
+
},
|
|
36
|
+
"cfg_directory_adm" => {
|
|
37
|
+
"user" => "admin"
|
|
38
|
+
},
|
|
39
|
+
"root_dn_user" => {
|
|
40
|
+
"user" => "CN=root_dn_user"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
service_name = "dirsrv"
|
|
45
|
+
if node['platform_version'].to_i >= 7
|
|
46
|
+
service_name = service_name + "@" + $MU_CFG["hostname"]
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
directory "/root/389ds.tmp" do
|
|
50
|
+
recursive true
|
|
51
|
+
mode 0700
|
|
52
|
+
end
|
|
53
|
+
$CREDS.each_pair { |creds, cfg|
|
|
54
|
+
user = pw = data = nil
|
|
55
|
+
if $MU_CFG["ldap"].has_key?(creds)
|
|
56
|
+
data = chef_vault_item($MU_CFG['ldap'][creds]['vault'], $MU_CFG['ldap'][creds]['item'])
|
|
57
|
+
user = data[$MU_CFG["ldap"][creds]["username_field"]]
|
|
58
|
+
pw = data[$MU_CFG["ldap"][creds]["password_field"]]
|
|
59
|
+
else
|
|
60
|
+
data = chef_vault_item("mu_ldap", creds)
|
|
61
|
+
user = data["username"]
|
|
62
|
+
pw = data["password"]
|
|
63
|
+
end
|
|
64
|
+
$CREDS[creds]['user'] = user if !$CREDS[creds]['user']
|
|
65
|
+
$CREDS[creds]['pw'] = pw if !$CREDS[creds]['pw']
|
|
66
|
+
}
|
|
67
|
+
directory "/var/log/dirsrv/admin-serv" do
|
|
68
|
+
user "nobody"
|
|
69
|
+
group "nobody"
|
|
70
|
+
mode 0770
|
|
71
|
+
recursive true
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# %x{/usr/sbin/setenforce 0}
|
|
75
|
+
execute "initialize 389 Directory Services" do
|
|
76
|
+
command "/usr/sbin/setup-ds-admin.pl -s -f /root/389ds.tmp/389-directory-setup.inf --continue --debug #{Dir.exists?("/etc/dirsrv/slapd-#{$MU_CFG["hostname"]}") ? "--update" : ""}"
|
|
77
|
+
action :nothing
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
template "/root/389ds.tmp/389-directory-setup.inf"do
|
|
81
|
+
source "389-directory-setup.inf.erb"
|
|
82
|
+
variables :hostname => $MU_CFG["hostname"],
|
|
83
|
+
:address => $MU_CFG["public_address"].match(/^\d+\.\d+\.\d+\.\d+$/) ? "localhost" : $MU_CFG["public_address"],
|
|
84
|
+
:domain => $MU_CFG["ldap"]["domain_name"],
|
|
85
|
+
:domain_dn => $MU_CFG["ldap"]["domain_name"].split(/\./).map{ |x| "DC=#{x}" }.join(","),
|
|
86
|
+
:creds => $CREDS
|
|
87
|
+
not_if { ::Dir.exists?("/etc/dirsrv/slapd-#{$MU_CFG["hostname"]}") }
|
|
88
|
+
notifies :run, "execute[initialize 389 Directory Services]", :immediately
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
service service_name do
|
|
92
|
+
action [:enable, :start]
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
if platform_family?("rhel") and node['platform_version'].to_i >= 7
|
|
96
|
+
cookbook_file "dirsrv_admin.pp" do
|
|
97
|
+
path "#{Chef::Config[:file_cache_path]}/dirsrv_admin.pp"
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
execute "Add dirsrv-admin to SELinux allow list" do
|
|
101
|
+
command "/usr/sbin/semodule -i dirsrv_admin.pp"
|
|
102
|
+
cwd Chef::Config[:file_cache_path]
|
|
103
|
+
not_if "/usr/sbin/semodule -l | grep dirsrv_admin"
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
#service "dirsrv-admin" do
|
|
108
|
+
# action [:enable, :start]
|
|
109
|
+
#end
|
|
110
|
+
|
|
111
|
+
chef_gem "expect" do
|
|
112
|
+
compile_time true
|
|
113
|
+
end
|
|
114
|
+
file "/root/389ds.tmp/blank" do
|
|
115
|
+
content ""
|
|
116
|
+
action :nothing
|
|
117
|
+
end
|
|
118
|
+
execute "389ds cert util" do
|
|
119
|
+
if $MU_CFG['ssl'] and $MU_CFG['ssl']['chain']
|
|
120
|
+
command "/usr/bin/certutil -d /etc/dirsrv/slapd-#{$MU_CFG["hostname"]} -A -n \"Mu Master CA\" -t CT,, -a -i #{$MU_CFG['ssl']['chain']}"
|
|
121
|
+
else
|
|
122
|
+
command "/usr/bin/certutil -d /etc/dirsrv/slapd-#{$MU_CFG["hostname"]} -A -n \"Mu Master CA\" -t CT,, -a -i /opt/mu/var/ssl/Mu_CA.pem"
|
|
123
|
+
end
|
|
124
|
+
action :nothing
|
|
125
|
+
notifies :restart, "service[#{service_name}]", :delayed
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Why is this utility interactive-only? So much hate.
|
|
129
|
+
ruby_block "import SSL certificates for 389ds" do
|
|
130
|
+
block do
|
|
131
|
+
certimportcmd = "/usr/bin/pk12util -i /opt/mu/var/ssl/ldap.p12 -d /etc/dirsrv/slapd-#{$MU_CFG["hostname"]} -w /root/389ds.tmp/blank -W \"\""
|
|
132
|
+
require 'pty'
|
|
133
|
+
require 'expect'
|
|
134
|
+
PTY.spawn(certimportcmd) { |r, w, pid|
|
|
135
|
+
begin
|
|
136
|
+
r.expect("Enter new password:") do
|
|
137
|
+
w.puts
|
|
138
|
+
end
|
|
139
|
+
r.expect("Re-enter password:") do
|
|
140
|
+
w.puts
|
|
141
|
+
end
|
|
142
|
+
rescue Errno::EIO
|
|
143
|
+
break
|
|
144
|
+
end
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
end
|
|
148
|
+
notifies :create, "file[/root/389ds.tmp/blank]", :before
|
|
149
|
+
notifies :run, "execute[389ds cert util]", :immediately
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
{"ssl_enable.ldif" => "nsslapd-security: on", "addRSA.ldif" => "nsSSLActivation: on"}.each_pair { |ldif, guardstr|
|
|
154
|
+
cookbook_file "/root/389ds.tmp/#{ldif}" do
|
|
155
|
+
source ldif
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
execute "/usr/bin/ldapmodify -x -D #{$CREDS["root_dn_user"]['user']} -w #{$CREDS["root_dn_user"]['pw']} -f /root/389ds.tmp/#{ldif}" do
|
|
159
|
+
notifies :restart, "service[#{service_name}]", :delayed
|
|
160
|
+
not_if "grep '#{guardstr}' /etc/dirsrv/slapd-#{$MU_CFG['hostname']}/dse.ldif"
|
|
161
|
+
end
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
# %x{/usr/sbin/setenforce 1}
|