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,81 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name::mu-tools
|
|
3
|
+
# Recipe::configure_oracle_tools
|
|
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
|
+
# Installs the oracle instantclient, sqlplus and the dev tools, then sets up environment for access
|
|
20
|
+
#
|
|
21
|
+
# USAGE: Must define location of packages in the node, typically via environment, EXAMPLE ONLY:
|
|
22
|
+
# "oracle-instantclient":{
|
|
23
|
+
# "public-url":"https://s3.amazonaws.com/flra-cms-dev/packages/",
|
|
24
|
+
# "sqlplus-rpm":"oracle-instantclient12.1-sqlplus-12.1.0.1.0-1.x86_64.rpm",
|
|
25
|
+
# "devel-rpm":"oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64.rpm",
|
|
26
|
+
# "basic-rpm":"oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64.rpm"
|
|
27
|
+
# },
|
|
28
|
+
# "oracle-jdbc":{
|
|
29
|
+
# "public-url":"https://s3.amazonaws.com/flra-cms-dev/packages/",
|
|
30
|
+
# "oracle-jdbc-jar" : "ojdbc7.jar",
|
|
31
|
+
# "jar-home" : "/usr/local/lib/jvm/"
|
|
32
|
+
# }
|
|
33
|
+
#
|
|
34
|
+
# TODO: Make the versions attribute-driven
|
|
35
|
+
# The package relies upon the packages being accessible via https, which requires public access.
|
|
36
|
+
# Eliminate this by either an s3 copy possibility or creating an rpm repository
|
|
37
|
+
#
|
|
38
|
+
# Maintained by: robert.patt-corner@eglobaltech.com
|
|
39
|
+
#
|
|
40
|
+
case node['platform']
|
|
41
|
+
|
|
42
|
+
when "centos"
|
|
43
|
+
# Install sqlplus and the oracle development sdk, then set the oracle environment up
|
|
44
|
+
include_recipe "oracle-instantclient::sqlplus"
|
|
45
|
+
include_recipe "oracle-instantclient::devel"
|
|
46
|
+
|
|
47
|
+
# Add a pull and setup for JDBC if driven by node
|
|
48
|
+
uses_jdbc = node['oracle-jdbc']
|
|
49
|
+
unless uses_jdbc.nil?
|
|
50
|
+
directory node['oracle-jdbc']['jar-home'] do
|
|
51
|
+
owner "root"
|
|
52
|
+
group "root"
|
|
53
|
+
mode 0755
|
|
54
|
+
action :create
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
remote_file File.join(node['oracle-jdbc']['jar-home'], node['oracle-jdbc']['oracle-jdbc-jar']) do
|
|
58
|
+
source node['oracle-jdbc']['public-url'] + node['oracle-jdbc']['oracle-jdbc-jar']
|
|
59
|
+
action :create
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Set up the configuration so oracle is in the path
|
|
66
|
+
file "/etc/ld.so.conf.d/oracle.conf" do
|
|
67
|
+
content "/usr/lib/oracle/12.1/client64/lib\n"
|
|
68
|
+
mode 0644
|
|
69
|
+
owner "root"
|
|
70
|
+
group "root"
|
|
71
|
+
notifies :run, "execute[/sbin/ldconfig]", :immediately
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
execute "/sbin/ldconfig" do
|
|
75
|
+
action :nothing
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
else
|
|
79
|
+
Chef::Log.info("Unsupported platform #{node['platform']}")
|
|
80
|
+
|
|
81
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright:: Copyright (c) 2015 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
|
+
case node['platform']
|
|
16
|
+
when platform_family?('rhel')
|
|
17
|
+
execute "sed -i 's/^Defaults.*requiretty$/Defaults !requiretty/' /etc/sudoers" do
|
|
18
|
+
not_if "grep '!requiretty' /etc/sudoers"
|
|
19
|
+
end
|
|
20
|
+
else
|
|
21
|
+
Chef::Log.info("Unsupported platform #{node['platform']}")
|
|
22
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name::mu-tools
|
|
3
|
+
# Recipe::ebs_rolling_snapshots
|
|
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
|
+
# Install/upgrade Python if missing on both Windows and Linux as well as install/upgrade Boto and Requests
|
|
20
|
+
# Works on both Windows and Linux, runs nightly on both.
|
|
21
|
+
# Unless -d/--device_name is specified will snapshot all volumes except for the following:
|
|
22
|
+
# On Windows /dev/sda1. On Linux /dev/sda1,/dev/sda, /dev/xvdn, /dev/xvdo, /dev/xvdp, /dev/xvdq, xvdn, xvdo, xvdp, xvdq
|
|
23
|
+
|
|
24
|
+
include_recipe "poise-python"
|
|
25
|
+
snap_string = "--num_snaps_keep #{node['ebs_snapshots']['days_to_keep']}"
|
|
26
|
+
snap_string << " --device_name #{node['ebs_snapshots']['device_name']}" if node['ebs_snapshots']['device_name']
|
|
27
|
+
snap_string << " --exclude_devices '#{node['ebs_snapshots']['exclude_devices'].join(', ')}'" if !node['ebs_snapshots']['exclude_devices'].empty?
|
|
28
|
+
|
|
29
|
+
case node['platform']
|
|
30
|
+
when "windows"
|
|
31
|
+
cookbook_file "#{Chef::Config[:file_cache_path]}/ebs_snapshots.py" do
|
|
32
|
+
source 'ebs_snapshots.py'
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
['boto', 'requests'].each do |pkg|
|
|
36
|
+
execute "Installing #{pkg}" do
|
|
37
|
+
command "#{node['python']['pip_binary']} install #{pkg} --upgrade"
|
|
38
|
+
not_if "echo %path% | find /I \"#{node['python']['prefix_dir']}\\python#{node['python']['major_version']}\\Scripts\""
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
['boto', 'requests'].each do |pkg|
|
|
43
|
+
python_package pkg do
|
|
44
|
+
action :upgrade
|
|
45
|
+
only_if "echo %path% | find /I \"#{node['python']['prefix_dir']}\\python#{node['python']['major_version']}\\Scripts\""
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
windows_task 'daily-snapshots' do
|
|
50
|
+
user "SYSTEM"
|
|
51
|
+
command "python #{Chef::Config[:file_cache_path]}\\ebs_snapshots.py #{snap_string}"
|
|
52
|
+
run_level :highest
|
|
53
|
+
frequency :daily
|
|
54
|
+
start_time "06:00"
|
|
55
|
+
end
|
|
56
|
+
else
|
|
57
|
+
cookbook_file "/opt/ebs_snapshots.py" do
|
|
58
|
+
source 'ebs_snapshots.py'
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
['boto', 'requests'].each do |pkg|
|
|
62
|
+
python_package pkg do
|
|
63
|
+
action :upgrade
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
snap_string << " --logfile /var/log/ebs_snapshots.log"
|
|
68
|
+
cron "Nightly rotate snapshot" do
|
|
69
|
+
action :create
|
|
70
|
+
minute "10"
|
|
71
|
+
hour "6"
|
|
72
|
+
user "root"
|
|
73
|
+
command "python /opt/ebs_snapshots.py #{snap_string}"
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Cookbook Name:: mu-tools
|
|
2
|
+
# Recipe:: efs
|
|
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
|
+
# Client-side behavior for interfacing with Amazon Elastic File System
|
|
19
|
+
|
|
20
|
+
if node['deployment'].has_key?('storage_pools')
|
|
21
|
+
require 'net/http'
|
|
22
|
+
require 'json'
|
|
23
|
+
|
|
24
|
+
case node['platform']
|
|
25
|
+
when 'ubuntu'
|
|
26
|
+
package "nfs-common"
|
|
27
|
+
when "rhel", "amazon", "centos"
|
|
28
|
+
package %w{nfs-utils nfs4-acl-tools}
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
instance_identity = JSON.parse(Net::HTTP.get(URI("http://169.254.169.254/latest/dynamic/instance-identity/document")))
|
|
32
|
+
|
|
33
|
+
node['deployment']['storage_pools'].each { |name, pool|
|
|
34
|
+
pool['mount_targets'].each { |name, target|
|
|
35
|
+
if target['availability_zone'] == instance_identity["availabilityZone"]
|
|
36
|
+
# Should also make it possible to choose a random endpoint if there isn't one for a specific AZ
|
|
37
|
+
|
|
38
|
+
directory target['mount_directory'] do
|
|
39
|
+
recursive true
|
|
40
|
+
mode 0755
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
endpoint = target['endpoint']
|
|
44
|
+
resolver = Resolv::DNS.new
|
|
45
|
+
begin
|
|
46
|
+
resolver.getaddress(endpoint)
|
|
47
|
+
rescue Resolv::ResolvError
|
|
48
|
+
endpoint = target['ip_address']
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
if node[:platform_family] == "rhel" and node[:platform_version].to_i < 6 and node['platform'] != "amazon"
|
|
52
|
+
service "portmap" do
|
|
53
|
+
action [:enable, :start]
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
mount target['mount_directory'] do
|
|
58
|
+
device "#{endpoint}:/"
|
|
59
|
+
fstype "nfs4"
|
|
60
|
+
action [:mount, :enable]
|
|
61
|
+
unless node['platform_family'] == "rhel" and node['platform_version'].to_i < 6
|
|
62
|
+
options "nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2"
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
break
|
|
67
|
+
end
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
end
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Cookbook Name:: mu-tools
|
|
2
|
+
# Recipe:: eks
|
|
3
|
+
#
|
|
4
|
+
# Copyright:: Copyright (c) 2018 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
|
+
# Client-side behavior for interfacing with Amazon Elastic File System
|
|
19
|
+
|
|
20
|
+
if node['deployment'].has_key?('container_clusters')
|
|
21
|
+
cluster_short_name = node['service_name'].sub(/-workers$/, "")
|
|
22
|
+
region = node['deployment']['container_clusters'][cluster_short_name]['region']
|
|
23
|
+
cluster = node['deployment']['container_clusters'][cluster_short_name]['name']
|
|
24
|
+
max_pods = node['deployment']['container_clusters'][cluster_short_name]['max_pods']
|
|
25
|
+
ca = node['deployment']['container_clusters'][cluster_short_name]['certificate_authority']['data']
|
|
26
|
+
endpoint = node['deployment']['container_clusters'][cluster_short_name]['endpoint']
|
|
27
|
+
# admin_role = node['deployment']['container_clusters'][cluster_short_name]['k8s_admin_role']
|
|
28
|
+
|
|
29
|
+
if platform_family?("rhel") and node[:platform_version].to_i >= 7
|
|
30
|
+
execute "rpm --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg"
|
|
31
|
+
file "/etc/yum.repos.d/kubernetes.repo" do
|
|
32
|
+
content "[kubernetes]
|
|
33
|
+
name=Kubernetes
|
|
34
|
+
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
|
|
35
|
+
enabled=1
|
|
36
|
+
gpgcheck=1
|
|
37
|
+
repo_gpgcheck=1
|
|
38
|
+
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
|
|
39
|
+
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
|
|
40
|
+
"
|
|
41
|
+
end
|
|
42
|
+
execute "yum -q makecache -y --disablerepo='*' --enablerepo=kubernetes"
|
|
43
|
+
package "docker"
|
|
44
|
+
package "awscli"
|
|
45
|
+
package "kubeadm"
|
|
46
|
+
package "kubelet"
|
|
47
|
+
package "kubectl"
|
|
48
|
+
elsif platform_family?("debian")
|
|
49
|
+
package "apt-transport-https"
|
|
50
|
+
package "ca-certificates"
|
|
51
|
+
package "software-properties-common"
|
|
52
|
+
package "curl"
|
|
53
|
+
bash "install docker" do
|
|
54
|
+
code <<EOH
|
|
55
|
+
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
|
|
56
|
+
add-apt-repository "deb https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") $(lsb_release -cs) stable"
|
|
57
|
+
apt-get update && apt-get install -y docker-ce=$(apt-cache madison docker-ce | grep 17.03 | head -1 | awk '{print $3}')
|
|
58
|
+
EOH
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
execute "curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -"
|
|
62
|
+
file "/etc/apt/sources.list.d/kubernetes.list" do
|
|
63
|
+
content "deb http://apt.kubernetes.io/ kubernetes-xenial main\n"
|
|
64
|
+
end
|
|
65
|
+
package "kubeadm"
|
|
66
|
+
package "kubelet"
|
|
67
|
+
package "kubectl"
|
|
68
|
+
else
|
|
69
|
+
Chef::Log.info("I don't know how to turn this #{node['platform']} AMI (#{node[:platform_version].to_s}) into a Kubernetes worker, hopefully it's the official, pre-configured AMI")
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
service "docker" do
|
|
73
|
+
action [:start, :enable]
|
|
74
|
+
end
|
|
75
|
+
service "kubelet" do
|
|
76
|
+
action [:start, :enable]
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
directory "/etc/kubernetes/pki/" do
|
|
80
|
+
recursive true
|
|
81
|
+
action :create
|
|
82
|
+
end
|
|
83
|
+
file "/etc/kubernetes/pki/ca.crt" do
|
|
84
|
+
content Base64.decode64(ca)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
directory "/root/.aws/eks" do
|
|
88
|
+
recursive true
|
|
89
|
+
action :create
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
remote_file "/root/.aws/eks/eks-2017-11-01.normal.json" do
|
|
93
|
+
source "https://s3-us-west-2.amazonaws.com/amazon-eks/1.10.3/2018-06-05/eks-2017-11-01.normal.json"
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
execute "aws configure add-model --service-model file://root/.aws/eks/eks-2017-11-01.normal.json --service-name eks"
|
|
97
|
+
|
|
98
|
+
execute "systemctl daemon-reload" do
|
|
99
|
+
action :nothing
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
template "/etc/systemd/system/kubelet.service" do
|
|
103
|
+
source "kubelet.service.erb"
|
|
104
|
+
mode 0644
|
|
105
|
+
# :pod_infra_container? :region?
|
|
106
|
+
# --pod-infra-container-image=602401143452.dkr.ecr.us-east-1.amazonaws.com/eks/pause-amd64:3.1
|
|
107
|
+
variables(
|
|
108
|
+
:dns => get_first_nameserver(),
|
|
109
|
+
:node_ip => get_aws_metadata("meta-data/local-ipv4")
|
|
110
|
+
)
|
|
111
|
+
notifies :run, "execute[systemctl daemon-reload]", :immediately
|
|
112
|
+
notifies :restart, "service[kubelet]", :delayed
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
directory "/root/.kube"
|
|
116
|
+
|
|
117
|
+
remote_file "/usr/bin/aws-iam-authenticator" do
|
|
118
|
+
source "https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/linux/amd64/aws-iam-authenticator"
|
|
119
|
+
mode 0755
|
|
120
|
+
not_if "test -f /usr/bin/aws-iam-authenticator"
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
["/var/lib/kubelet/kubeconfig", "/root/.kube/config"].each { |kubecfg|
|
|
124
|
+
template kubecfg do
|
|
125
|
+
source "kubeconfig.erb"
|
|
126
|
+
variables(
|
|
127
|
+
:endpoint => endpoint,
|
|
128
|
+
:cluster => cluster,
|
|
129
|
+
:cacert => ca,
|
|
130
|
+
:rolearn => node['ec2']['iam_instance_profile']['arn'].sub(/:instance-profile\//, ":role/")
|
|
131
|
+
)
|
|
132
|
+
end
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
master_ips = get_mu_master_ips
|
|
136
|
+
opento = master_ips.map { |x| "#{x}/32"}
|
|
137
|
+
|
|
138
|
+
opento.uniq.each { |src|
|
|
139
|
+
[:tcp, :udp, :icmp].each { |proto|
|
|
140
|
+
execute "iptables -I INPUT -p #{proto.to_s} -s #{src}" do
|
|
141
|
+
not_if "iptables -L -n | tr -s ' ' | grep -- '#{proto.to_s} -- #{src.sub(/\/32$/, "")}' > /dev/null"
|
|
142
|
+
end
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
execute "/usr/sbin/sysctl -w net.ipv4.ip_forward=1"
|
|
147
|
+
|
|
148
|
+
execute "echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf" do
|
|
149
|
+
not_if "grep ^net.ipv4.ip_forward /etc/sysctl.conf"
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
bash "Allow DockerD to forward traffic outside" do
|
|
153
|
+
code <<EOH
|
|
154
|
+
/sbin/iptables -A FORWARD -i docker0 -j ACCEPT
|
|
155
|
+
/sbin/iptables -A INPUT -i docker0 -j ACCEPT
|
|
156
|
+
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 172.17.0.0/16 -j MASQUERADE
|
|
157
|
+
EOH
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
end
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name::mu-tools
|
|
3
|
+
# Recipe::gcloud
|
|
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
|
+
if platform_family?("rhel")
|
|
20
|
+
if node['platform_version'].to_i >= 7
|
|
21
|
+
yum_repository "google-cloud-sdk" do
|
|
22
|
+
description 'Google Cloud SDK'
|
|
23
|
+
url "https://packages.cloud.google.com/yum/repos/cloud-sdk-el#{node['platform_version'].to_i}-x86_64#{node['platform_version'].to_i == 6 ? "-unstable": ""}"
|
|
24
|
+
enabled true
|
|
25
|
+
gpgcheck true
|
|
26
|
+
repo_gpgcheck true
|
|
27
|
+
gpgkey ["https://packages.cloud.google.com/yum/doc/yum-key.gpg", "https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg"]
|
|
28
|
+
end
|
|
29
|
+
package "google-cloud-sdk"
|
|
30
|
+
elsif node['platform_version'].to_i == 6
|
|
31
|
+
rpm_package "IUS" do
|
|
32
|
+
source "https://#{node['platform']}#{node['platform_version'].to_i}.iuscommunity.org/ius-release.rpm"
|
|
33
|
+
end
|
|
34
|
+
package ["python27", "python27-libs"]
|
|
35
|
+
remote_file "#{Chef::Config[:file_cache_path]}/gcloud-cli.sh" do
|
|
36
|
+
source "https://sdk.cloud.google.com"
|
|
37
|
+
action :nothing
|
|
38
|
+
end
|
|
39
|
+
remote_file "#{Chef::Config[:file_cache_path]}/gcloud-cli.tar.gz" do
|
|
40
|
+
source "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-167.0.0-linux-x86_64.tar.gz"
|
|
41
|
+
action :nothing
|
|
42
|
+
end
|
|
43
|
+
bash "install gcloud-cli" do
|
|
44
|
+
cwd "/opt"
|
|
45
|
+
code <<-EOH
|
|
46
|
+
# This broken-arsed package set install themselves in the wrong prefix
|
|
47
|
+
# for some reason, but if you do it manually they land in the right
|
|
48
|
+
# place. Whatever, just symlink it.
|
|
49
|
+
filelist=`rpm -qa | grep ^python27- | xargs rpm -ql`
|
|
50
|
+
for d in $filelist;do
|
|
51
|
+
if [ -d "$d" ];then
|
|
52
|
+
rightpath=`echo $d | sed 's/^\\/opt\\/rh\\/python27\\/root//'`
|
|
53
|
+
if [ "$rightpath" != "$d" -a ! -e "$rightpath" ];then
|
|
54
|
+
echo $rightpath | grep -v /
|
|
55
|
+
mkdir -p "$rightpath"
|
|
56
|
+
fi
|
|
57
|
+
fi
|
|
58
|
+
done
|
|
59
|
+
for f in $filelist;do
|
|
60
|
+
if [ -f "$f" ];then
|
|
61
|
+
rightpath=`echo $f | sed 's/^\\/opt\\/rh\\/python27\\/root//'`
|
|
62
|
+
if [ "$rightpath" != "$f" -a ! -e "$rightpath" ];then
|
|
63
|
+
ln -s "$f" "$rightpath"
|
|
64
|
+
fi
|
|
65
|
+
fi
|
|
66
|
+
done
|
|
67
|
+
tar -xzf #{Chef::Config[:file_cache_path]}/gcloud-cli.tar.gz
|
|
68
|
+
CLOUDSDK_PYTHON=/usr/bin/python2.7 ./google-cloud-sdk/install.sh -q
|
|
69
|
+
# CLOUDSDK_PYTHON=/usr/bin/python2.7 sh #{Chef::Config[:file_cache_path]}/gcloud-cli.sh --install-dir=/opt --disable-prompts
|
|
70
|
+
EOH
|
|
71
|
+
notifies :create, "remote_file[#{Chef::Config[:file_cache_path]}/gcloud-cli.sh]", :before
|
|
72
|
+
notifies :create, "remote_file[#{Chef::Config[:file_cache_path]}/gcloud-cli.tar.gz]", :before
|
|
73
|
+
not_if { ::File.exists?("/opt/google-cloud-sdk/bin/gcloud") }
|
|
74
|
+
end
|
|
75
|
+
link "/etc/bash_completion.d/gcloud" do
|
|
76
|
+
to "/opt/google-cloud-sdk/completion.bash.inc"
|
|
77
|
+
end
|
|
78
|
+
link "/etc/profile.d/gcloud.sh" do
|
|
79
|
+
to "/opt/google-cloud-sdk/path.bash.inc"
|
|
80
|
+
end
|
|
81
|
+
file "/etc/profile.d/gcloud_python.sh" do
|
|
82
|
+
content "export CLOUDSDK_PYTHON=/usr/bin/python2.7\n"
|
|
83
|
+
mode 0644
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
elsif platform_family?("debian")
|
|
87
|
+
bash "add google-cloud-sdk repo" do
|
|
88
|
+
code <<-EOH
|
|
89
|
+
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"
|
|
90
|
+
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
|
|
91
|
+
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
|
|
92
|
+
sudo apt-get update
|
|
93
|
+
EOH
|
|
94
|
+
not_if { ::File.exists?("/etc/apt/sources.list.d/google-cloud-sdk.list") }
|
|
95
|
+
end
|
|
96
|
+
package "google-cloud-sdk"
|
|
97
|
+
else
|
|
98
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name::mu-tools
|
|
3
|
+
# Recipe::google_api
|
|
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
|
+
["google-api-client", "google-cloud", "googleauth"].each { |gem|
|
|
20
|
+
chef_gem gem do
|
|
21
|
+
compile_time true
|
|
22
|
+
action :install
|
|
23
|
+
only_if { !get_google_metadata("name").nil? }
|
|
24
|
+
end
|
|
25
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: mu-tools
|
|
3
|
+
# Recipe:: maldet
|
|
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
|
+
# Installs maldetect and enables a cron job to scan all local filesystems at
|
|
20
|
+
# a random time once per day.
|
|
21
|
+
|
|
22
|
+
if node['maldet']['install'] == true and !node['application_attributes']['skip_recipes'].include?('maldet')
|
|
23
|
+
include_recipe "mu-tools::clamav"
|
|
24
|
+
|
|
25
|
+
if !platform_family?("windows")
|
|
26
|
+
execute "unpack maldetect" do
|
|
27
|
+
cwd Chef::Config[:file_cache_path]
|
|
28
|
+
command "tar xfz maldetect-current.tar.gz"
|
|
29
|
+
action :nothing
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# XXX Probably ought to pick a version and checksum it.
|
|
33
|
+
remote_file "#{Chef::Config[:file_cache_path]}/maldetect-current.tar.gz" do
|
|
34
|
+
action :create
|
|
35
|
+
source "https://www.rfxn.com/downloads/maldetect-current.tar.gz"
|
|
36
|
+
owner "root"
|
|
37
|
+
group "root"
|
|
38
|
+
notifies :run, "execute[unpack maldetect]", :immediately
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
execute "install maldetect" do
|
|
43
|
+
command "dir=\"`tar -tzf #{Chef::Config[:file_cache_path]}/maldetect-current.tar.gz | head -1`\" ; cd #{Chef::Config[:file_cache_path]}/$dir && ./install.sh && /usr/local/maldetect/maldet --update ; rm -f /etc/cron.daily/maldet"
|
|
44
|
+
returns [0, 1]
|
|
45
|
+
not_if "test -f /usr/local/maldetect/maldet"
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
template "/usr/local/sbin/maldet_scanall.sh" do
|
|
49
|
+
source "maldet_scanall.sh.erb"
|
|
50
|
+
mode "0755"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
template "/usr/local/sbin/conf.maldet" do
|
|
54
|
+
source "conf.maldet.erb"
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
cron "update maldet" do
|
|
58
|
+
minute Random.rand(0...59)
|
|
59
|
+
hour Random.rand(0...23)
|
|
60
|
+
command "/usr/local/maldetect/maldet --update > /dev/null; /usr/local/sbin/maldet_scanall.sh > /dev/null"
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
elsif !platform_family?("windows")
|
|
64
|
+
cron "update maldet" do
|
|
65
|
+
action :delete
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Cookbook Name:: mu-tools
|
|
3
|
+
# Recipe:: nagios
|
|
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 "nagios"
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
if !node['application_attributes']['skip_recipes'].include?('newclient')
|
|
16
|
+
unless node['recipes'].include?("chef-server")
|
|
17
|
+
file Chef::Config[:validation_key] do
|
|
18
|
+
action :delete
|
|
19
|
+
backup false
|
|
20
|
+
only_if { ::File.exists?(Chef::Config[:client_key]) }
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|