cloud-mu 2.1.0beta → 3.0.0beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/Berksfile +4 -5
- data/Berksfile.lock +179 -0
- data/README.md +1 -6
- data/ansible/roles/geerlingguy.firewall/templates/firewall.bash.j2 +0 -0
- data/ansible/roles/mu-installer/README.md +33 -0
- data/ansible/roles/mu-installer/defaults/main.yml +2 -0
- data/ansible/roles/mu-installer/handlers/main.yml +2 -0
- data/ansible/roles/mu-installer/meta/main.yml +60 -0
- data/ansible/roles/mu-installer/tasks/main.yml +13 -0
- data/ansible/roles/mu-installer/tests/inventory +2 -0
- data/ansible/roles/mu-installer/tests/test.yml +5 -0
- data/ansible/roles/mu-installer/vars/main.yml +2 -0
- data/bin/mu-adopt +125 -0
- data/bin/mu-aws-setup +4 -4
- data/bin/mu-azure-setup +265 -0
- data/bin/mu-azure-tests +43 -0
- data/bin/mu-cleanup +20 -8
- data/bin/mu-configure +224 -98
- data/bin/mu-deploy +8 -3
- data/bin/mu-gcp-setup +16 -8
- data/bin/mu-gen-docs +92 -8
- data/bin/mu-load-config.rb +52 -12
- data/bin/mu-momma-cat +36 -0
- data/bin/mu-node-manage +34 -27
- data/bin/mu-self-update +2 -2
- data/bin/mu-ssh +12 -8
- data/bin/mu-upload-chef-artifacts +11 -4
- data/bin/mu-user-manage +3 -0
- data/cloud-mu.gemspec +8 -11
- data/cookbooks/firewall/libraries/helpers_iptables.rb +2 -2
- data/cookbooks/firewall/metadata.json +1 -1
- data/cookbooks/firewall/recipes/default.rb +5 -9
- data/cookbooks/mu-firewall/attributes/default.rb +2 -0
- data/cookbooks/mu-firewall/metadata.rb +1 -1
- data/cookbooks/mu-glusterfs/templates/default/mu-gluster-client.erb +0 -0
- data/cookbooks/mu-master/Berksfile +2 -2
- data/cookbooks/mu-master/files/default/check_mem.pl +0 -0
- data/cookbooks/mu-master/files/default/cloudamatic.png +0 -0
- data/cookbooks/mu-master/metadata.rb +5 -4
- data/cookbooks/mu-master/recipes/389ds.rb +1 -1
- data/cookbooks/mu-master/recipes/basepackages.rb +30 -10
- data/cookbooks/mu-master/recipes/default.rb +59 -7
- data/cookbooks/mu-master/recipes/firewall-holes.rb +1 -1
- data/cookbooks/mu-master/recipes/init.rb +65 -47
- data/cookbooks/mu-master/recipes/{eks-kubectl.rb → kubectl.rb} +4 -10
- data/cookbooks/mu-master/recipes/sssd.rb +2 -1
- data/cookbooks/mu-master/recipes/update_nagios_only.rb +6 -6
- data/cookbooks/mu-master/templates/default/web_app.conf.erb +2 -2
- data/cookbooks/mu-master/templates/mods/ldap.conf.erb +4 -0
- data/cookbooks/mu-php54/Berksfile +1 -2
- data/cookbooks/mu-php54/metadata.rb +4 -5
- data/cookbooks/mu-php54/recipes/default.rb +1 -1
- data/cookbooks/mu-splunk/templates/default/splunk-init.erb +0 -0
- data/cookbooks/mu-tools/Berksfile +3 -2
- data/cookbooks/mu-tools/files/default/Mu_CA.pem +33 -0
- data/cookbooks/mu-tools/libraries/helper.rb +20 -8
- data/cookbooks/mu-tools/metadata.rb +5 -2
- data/cookbooks/mu-tools/recipes/apply_security.rb +2 -3
- data/cookbooks/mu-tools/recipes/eks.rb +1 -1
- data/cookbooks/mu-tools/recipes/gcloud.rb +5 -30
- data/cookbooks/mu-tools/recipes/nagios.rb +1 -1
- data/cookbooks/mu-tools/recipes/rsyslog.rb +1 -0
- data/cookbooks/mu-tools/recipes/selinux.rb +19 -0
- data/cookbooks/mu-tools/recipes/split_var_partitions.rb +0 -1
- data/cookbooks/mu-tools/recipes/windows-client.rb +256 -122
- data/cookbooks/mu-tools/resources/disk.rb +3 -1
- data/cookbooks/mu-tools/templates/amazon/sshd_config.erb +1 -1
- data/cookbooks/mu-tools/templates/default/etc_hosts.erb +1 -1
- data/cookbooks/mu-tools/templates/default/{kubeconfig.erb → kubeconfig-eks.erb} +0 -0
- data/cookbooks/mu-tools/templates/default/kubeconfig-gke.erb +27 -0
- data/cookbooks/mu-tools/templates/windows-10/sshd_config.erb +137 -0
- data/cookbooks/mu-utility/recipes/nat.rb +4 -0
- data/extras/alpha.png +0 -0
- data/extras/beta.png +0 -0
- data/extras/clean-stock-amis +2 -2
- data/extras/generate-stock-images +131 -0
- data/extras/git-fix-permissions-hook +0 -0
- data/extras/image-generators/AWS/centos6.yaml +17 -0
- data/extras/image-generators/{aws → AWS}/centos7-govcloud.yaml +0 -0
- data/extras/image-generators/{aws → AWS}/centos7.yaml +0 -0
- data/extras/image-generators/{aws → AWS}/rhel7.yaml +0 -0
- data/extras/image-generators/{aws → AWS}/win2k12.yaml +0 -0
- data/extras/image-generators/{aws → AWS}/win2k16.yaml +0 -0
- data/extras/image-generators/{aws → AWS}/windows.yaml +0 -0
- data/extras/image-generators/{gcp → Google}/centos6.yaml +1 -0
- data/extras/image-generators/Google/centos7.yaml +18 -0
- data/extras/python_rpm/build.sh +0 -0
- data/extras/release.png +0 -0
- data/extras/ruby_rpm/build.sh +0 -0
- data/extras/ruby_rpm/muby.spec +1 -1
- data/install/README.md +43 -5
- data/install/deprecated-bash-library.sh +0 -0
- data/install/installer +1 -1
- data/install/jenkinskeys.rb +0 -0
- data/install/mu-master.yaml +55 -0
- data/modules/mommacat.ru +41 -7
- data/modules/mu.rb +444 -149
- data/modules/mu/adoption.rb +500 -0
- data/modules/mu/cleanup.rb +235 -158
- data/modules/mu/cloud.rb +675 -138
- data/modules/mu/clouds/aws.rb +156 -24
- data/modules/mu/clouds/aws/alarm.rb +4 -14
- data/modules/mu/clouds/aws/bucket.rb +60 -18
- data/modules/mu/clouds/aws/cache_cluster.rb +8 -20
- data/modules/mu/clouds/aws/collection.rb +12 -22
- data/modules/mu/clouds/aws/container_cluster.rb +209 -118
- data/modules/mu/clouds/aws/database.rb +120 -45
- data/modules/mu/clouds/aws/dnszone.rb +7 -18
- data/modules/mu/clouds/aws/endpoint.rb +5 -15
- data/modules/mu/clouds/aws/firewall_rule.rb +144 -72
- data/modules/mu/clouds/aws/folder.rb +4 -11
- data/modules/mu/clouds/aws/function.rb +6 -16
- data/modules/mu/clouds/aws/group.rb +4 -12
- data/modules/mu/clouds/aws/habitat.rb +11 -13
- data/modules/mu/clouds/aws/loadbalancer.rb +40 -28
- data/modules/mu/clouds/aws/log.rb +5 -13
- data/modules/mu/clouds/aws/msg_queue.rb +9 -24
- data/modules/mu/clouds/aws/nosqldb.rb +4 -12
- data/modules/mu/clouds/aws/notifier.rb +6 -13
- data/modules/mu/clouds/aws/role.rb +69 -40
- data/modules/mu/clouds/aws/search_domain.rb +17 -20
- data/modules/mu/clouds/aws/server.rb +184 -94
- data/modules/mu/clouds/aws/server_pool.rb +33 -38
- data/modules/mu/clouds/aws/storage_pool.rb +5 -12
- data/modules/mu/clouds/aws/user.rb +59 -33
- data/modules/mu/clouds/aws/userdata/linux.erb +18 -30
- data/modules/mu/clouds/aws/userdata/windows.erb +9 -9
- data/modules/mu/clouds/aws/vpc.rb +214 -145
- data/modules/mu/clouds/azure.rb +978 -44
- data/modules/mu/clouds/azure/container_cluster.rb +413 -0
- data/modules/mu/clouds/azure/firewall_rule.rb +500 -0
- data/modules/mu/clouds/azure/habitat.rb +167 -0
- data/modules/mu/clouds/azure/loadbalancer.rb +205 -0
- data/modules/mu/clouds/azure/role.rb +211 -0
- data/modules/mu/clouds/azure/server.rb +810 -0
- data/modules/mu/clouds/azure/user.rb +257 -0
- data/modules/mu/clouds/azure/userdata/README.md +4 -0
- data/modules/mu/clouds/azure/userdata/linux.erb +137 -0
- data/modules/mu/clouds/azure/userdata/windows.erb +275 -0
- data/modules/mu/clouds/azure/vpc.rb +782 -0
- data/modules/mu/clouds/cloudformation.rb +12 -9
- data/modules/mu/clouds/cloudformation/firewall_rule.rb +5 -13
- data/modules/mu/clouds/cloudformation/server.rb +10 -1
- data/modules/mu/clouds/cloudformation/server_pool.rb +1 -0
- data/modules/mu/clouds/cloudformation/vpc.rb +0 -2
- data/modules/mu/clouds/google.rb +554 -117
- data/modules/mu/clouds/google/bucket.rb +173 -32
- data/modules/mu/clouds/google/container_cluster.rb +1112 -157
- data/modules/mu/clouds/google/database.rb +24 -47
- data/modules/mu/clouds/google/firewall_rule.rb +344 -89
- data/modules/mu/clouds/google/folder.rb +156 -79
- data/modules/mu/clouds/google/group.rb +272 -82
- data/modules/mu/clouds/google/habitat.rb +177 -52
- data/modules/mu/clouds/google/loadbalancer.rb +9 -34
- data/modules/mu/clouds/google/role.rb +1211 -0
- data/modules/mu/clouds/google/server.rb +491 -227
- data/modules/mu/clouds/google/server_pool.rb +233 -48
- data/modules/mu/clouds/google/user.rb +479 -125
- data/modules/mu/clouds/google/userdata/linux.erb +3 -3
- data/modules/mu/clouds/google/userdata/windows.erb +9 -9
- data/modules/mu/clouds/google/vpc.rb +381 -223
- data/modules/mu/config.rb +689 -214
- data/modules/mu/config/bucket.rb +1 -1
- data/modules/mu/config/cache_cluster.rb +1 -1
- data/modules/mu/config/cache_cluster.yml +0 -4
- data/modules/mu/config/container_cluster.rb +18 -9
- data/modules/mu/config/database.rb +6 -23
- data/modules/mu/config/firewall_rule.rb +9 -15
- data/modules/mu/config/folder.rb +22 -21
- data/modules/mu/config/habitat.rb +22 -21
- data/modules/mu/config/loadbalancer.rb +2 -2
- data/modules/mu/config/role.rb +9 -40
- data/modules/mu/config/server.rb +26 -5
- data/modules/mu/config/server_pool.rb +1 -1
- data/modules/mu/config/storage_pool.rb +2 -2
- data/modules/mu/config/user.rb +4 -0
- data/modules/mu/config/vpc.rb +350 -110
- data/modules/mu/defaults/{amazon_images.yaml → AWS.yaml} +37 -39
- data/modules/mu/defaults/Azure.yaml +17 -0
- data/modules/mu/defaults/Google.yaml +24 -0
- data/modules/mu/defaults/README.md +1 -1
- data/modules/mu/deploy.rb +168 -125
- data/modules/mu/groomer.rb +2 -1
- data/modules/mu/groomers/ansible.rb +104 -32
- data/modules/mu/groomers/chef.rb +96 -44
- data/modules/mu/kittens.rb +20602 -0
- data/modules/mu/logger.rb +38 -11
- data/modules/mu/master.rb +90 -8
- data/modules/mu/master/chef.rb +2 -3
- data/modules/mu/master/ldap.rb +0 -1
- data/modules/mu/master/ssl.rb +250 -0
- data/modules/mu/mommacat.rb +917 -513
- data/modules/scratchpad.erb +1 -1
- data/modules/tests/super_complex_bok.yml +0 -0
- data/modules/tests/super_simple_bok.yml +0 -0
- data/roles/mu-master.json +2 -1
- data/spec/azure_creds +5 -0
- data/spec/mu.yaml +56 -0
- data/spec/mu/clouds/azure_spec.rb +164 -27
- data/spec/spec_helper.rb +5 -0
- data/test/clean_up.py +0 -0
- data/test/exec_inspec.py +0 -0
- data/test/exec_mu_install.py +0 -0
- data/test/exec_retry.py +0 -0
- data/test/smoke_test.rb +0 -0
- metadata +90 -118
- data/cookbooks/mu-jenkins/Berksfile +0 -14
- data/cookbooks/mu-jenkins/CHANGELOG.md +0 -13
- data/cookbooks/mu-jenkins/LICENSE +0 -37
- data/cookbooks/mu-jenkins/README.md +0 -105
- data/cookbooks/mu-jenkins/attributes/default.rb +0 -42
- data/cookbooks/mu-jenkins/files/default/cleanup_deploy_config.xml +0 -73
- data/cookbooks/mu-jenkins/files/default/deploy_config.xml +0 -44
- data/cookbooks/mu-jenkins/metadata.rb +0 -21
- data/cookbooks/mu-jenkins/recipes/default.rb +0 -195
- data/cookbooks/mu-jenkins/recipes/node-ssh-config.rb +0 -54
- data/cookbooks/mu-jenkins/recipes/public_key.rb +0 -24
- data/cookbooks/mu-jenkins/templates/default/example_job.config.xml.erb +0 -24
- data/cookbooks/mu-jenkins/templates/default/org.jvnet.hudson.plugins.SSHBuildWrapper.xml.erb +0 -14
- data/cookbooks/mu-jenkins/templates/default/ssh_config.erb +0 -6
- data/cookbooks/nagios/Berksfile +0 -11
- data/cookbooks/nagios/CHANGELOG.md +0 -589
- data/cookbooks/nagios/CONTRIBUTING.md +0 -11
- data/cookbooks/nagios/LICENSE +0 -37
- data/cookbooks/nagios/README.md +0 -328
- data/cookbooks/nagios/TESTING.md +0 -2
- data/cookbooks/nagios/attributes/config.rb +0 -171
- data/cookbooks/nagios/attributes/default.rb +0 -228
- data/cookbooks/nagios/chefignore +0 -102
- data/cookbooks/nagios/definitions/command.rb +0 -33
- data/cookbooks/nagios/definitions/contact.rb +0 -33
- data/cookbooks/nagios/definitions/contactgroup.rb +0 -33
- data/cookbooks/nagios/definitions/host.rb +0 -33
- data/cookbooks/nagios/definitions/hostdependency.rb +0 -33
- data/cookbooks/nagios/definitions/hostescalation.rb +0 -34
- data/cookbooks/nagios/definitions/hostgroup.rb +0 -33
- data/cookbooks/nagios/definitions/nagios_conf.rb +0 -38
- data/cookbooks/nagios/definitions/resource.rb +0 -33
- data/cookbooks/nagios/definitions/service.rb +0 -33
- data/cookbooks/nagios/definitions/servicedependency.rb +0 -33
- data/cookbooks/nagios/definitions/serviceescalation.rb +0 -34
- data/cookbooks/nagios/definitions/servicegroup.rb +0 -33
- data/cookbooks/nagios/definitions/timeperiod.rb +0 -33
- data/cookbooks/nagios/libraries/base.rb +0 -314
- data/cookbooks/nagios/libraries/command.rb +0 -91
- data/cookbooks/nagios/libraries/contact.rb +0 -230
- data/cookbooks/nagios/libraries/contactgroup.rb +0 -112
- data/cookbooks/nagios/libraries/custom_option.rb +0 -36
- data/cookbooks/nagios/libraries/data_bag_helper.rb +0 -23
- data/cookbooks/nagios/libraries/default.rb +0 -90
- data/cookbooks/nagios/libraries/host.rb +0 -412
- data/cookbooks/nagios/libraries/hostdependency.rb +0 -181
- data/cookbooks/nagios/libraries/hostescalation.rb +0 -173
- data/cookbooks/nagios/libraries/hostgroup.rb +0 -119
- data/cookbooks/nagios/libraries/nagios.rb +0 -282
- data/cookbooks/nagios/libraries/resource.rb +0 -59
- data/cookbooks/nagios/libraries/service.rb +0 -455
- data/cookbooks/nagios/libraries/servicedependency.rb +0 -215
- data/cookbooks/nagios/libraries/serviceescalation.rb +0 -195
- data/cookbooks/nagios/libraries/servicegroup.rb +0 -144
- data/cookbooks/nagios/libraries/timeperiod.rb +0 -160
- data/cookbooks/nagios/libraries/users_helper.rb +0 -54
- data/cookbooks/nagios/metadata.rb +0 -25
- data/cookbooks/nagios/recipes/_load_databag_config.rb +0 -153
- data/cookbooks/nagios/recipes/_load_default_config.rb +0 -241
- data/cookbooks/nagios/recipes/apache.rb +0 -48
- data/cookbooks/nagios/recipes/default.rb +0 -204
- data/cookbooks/nagios/recipes/nginx.rb +0 -82
- data/cookbooks/nagios/recipes/pagerduty.rb +0 -143
- data/cookbooks/nagios/recipes/server_package.rb +0 -40
- data/cookbooks/nagios/recipes/server_source.rb +0 -164
- data/cookbooks/nagios/templates/default/apache2.conf.erb +0 -96
- data/cookbooks/nagios/templates/default/cgi.cfg.erb +0 -266
- data/cookbooks/nagios/templates/default/commands.cfg.erb +0 -13
- data/cookbooks/nagios/templates/default/contacts.cfg.erb +0 -37
- data/cookbooks/nagios/templates/default/hostgroups.cfg.erb +0 -25
- data/cookbooks/nagios/templates/default/hosts.cfg.erb +0 -15
- data/cookbooks/nagios/templates/default/htpasswd.users.erb +0 -6
- data/cookbooks/nagios/templates/default/nagios.cfg.erb +0 -22
- data/cookbooks/nagios/templates/default/nginx.conf.erb +0 -62
- data/cookbooks/nagios/templates/default/pagerduty.cgi.erb +0 -185
- data/cookbooks/nagios/templates/default/resource.cfg.erb +0 -27
- data/cookbooks/nagios/templates/default/servicedependencies.cfg.erb +0 -15
- data/cookbooks/nagios/templates/default/servicegroups.cfg.erb +0 -14
- data/cookbooks/nagios/templates/default/services.cfg.erb +0 -14
- data/cookbooks/nagios/templates/default/templates.cfg.erb +0 -31
- data/cookbooks/nagios/templates/default/timeperiods.cfg.erb +0 -13
- data/extras/image-generators/aws/centos6.yaml +0 -18
- data/modules/mu/defaults/google_images.yaml +0 -16
- data/roles/mu-master-jenkins.json +0 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: d6d28f31ace29cfaab6ca01999ae6ac6555e2f997a7bd05a6368d6e3787b67bc
|
|
4
|
+
data.tar.gz: da3c08bb506f6952cb74a07710436d6c698acafa6c4f3fc5eeb3ac3cdaff58b4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3b6adb59f7ead95071f134ba9059042ff493cad6259fd19c1f0e32f78bbfb1e856403e7272c980a5cede5aae8fdf53bfe2c810ade5e23d2a045cad2f4264ab20
|
|
7
|
+
data.tar.gz: 283566f81d55c6a34871edb57ae895855bbf1ed3f2a8e6946ca40319839e780802bc0228f6c2b5d1ca2a0dffc10b2cd107b48770133a88b72144ad3478043800
|
data/Berksfile
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
source "https://supermarket.chef.io"
|
|
2
1
|
source chef_repo: "cookbooks/"
|
|
2
|
+
source "https://supermarket.chef.io"
|
|
3
3
|
|
|
4
4
|
# Mu Platform Cookbooks
|
|
5
5
|
cookbook 'awscli'
|
|
@@ -7,12 +7,11 @@ cookbook 'mu-activedirectory'
|
|
|
7
7
|
cookbook 'mu-splunk'
|
|
8
8
|
cookbook 'mu-firewall'
|
|
9
9
|
cookbook 'mu-glusterfs'
|
|
10
|
-
cookbook 'mu-jenkins'
|
|
11
10
|
cookbook 'mu-master'
|
|
12
11
|
cookbook 'mu-mongo'
|
|
13
12
|
cookbook 'mu-openvpn'
|
|
14
|
-
cookbook 'mu-php54'
|
|
15
13
|
cookbook 'mu-tools'
|
|
16
14
|
cookbook 'mu-utility'
|
|
17
|
-
cookbook 'nagios'
|
|
18
|
-
cookbook 'firewall'
|
|
15
|
+
cookbook 'mu-nagios' , '~> 8.2.0', git: "https://github.com/cloudamatic/mu-nagios.git"
|
|
16
|
+
cookbook 'firewall', path: 'cookbooks/firewall'
|
|
17
|
+
cookbook 'chocolatey'
|
data/Berksfile.lock
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
DEPENDENCIES
|
|
2
|
+
awscli
|
|
3
|
+
chocolatey
|
|
4
|
+
firewall
|
|
5
|
+
path: cookbooks/firewall
|
|
6
|
+
mu-activedirectory
|
|
7
|
+
mu-firewall
|
|
8
|
+
mu-glusterfs
|
|
9
|
+
mu-master
|
|
10
|
+
mu-mongo
|
|
11
|
+
mu-nagios
|
|
12
|
+
git: https://github.com/cloudamatic/mu-nagios.git
|
|
13
|
+
revision: c1e3f6155d5ab9952c8403693b118664f8d50973
|
|
14
|
+
mu-openvpn
|
|
15
|
+
mu-splunk
|
|
16
|
+
mu-tools
|
|
17
|
+
mu-utility
|
|
18
|
+
|
|
19
|
+
GRAPH
|
|
20
|
+
apache2 (5.2.1)
|
|
21
|
+
apt (7.2.0)
|
|
22
|
+
awscli (1.1.2)
|
|
23
|
+
python (~> 1.4)
|
|
24
|
+
bind (2.2.1)
|
|
25
|
+
bind9-ng (0.1.0)
|
|
26
|
+
build-essential (8.2.1)
|
|
27
|
+
mingw (>= 1.1)
|
|
28
|
+
seven_zip (>= 0.0.0)
|
|
29
|
+
chef-sugar (5.0.4)
|
|
30
|
+
chef-vault (3.1.1)
|
|
31
|
+
chocolatey (2.0.1)
|
|
32
|
+
consul (2.3.0)
|
|
33
|
+
build-essential (>= 0.0.0)
|
|
34
|
+
firewall (~> 2.0)
|
|
35
|
+
golang (>= 0.0.0)
|
|
36
|
+
nssm (>= 0.0.0)
|
|
37
|
+
poise (~> 2.2)
|
|
38
|
+
poise-archive (~> 1.3)
|
|
39
|
+
poise-service (~> 1.4)
|
|
40
|
+
consul-cluster (2.0.0)
|
|
41
|
+
consul (~> 2.1)
|
|
42
|
+
ssl_certificate (~> 1.11)
|
|
43
|
+
cpan (0.1.0)
|
|
44
|
+
database (6.1.1)
|
|
45
|
+
postgresql (>= 1.0.0)
|
|
46
|
+
firewall (2.7.1)
|
|
47
|
+
golang (1.7.0)
|
|
48
|
+
hashicorp-vault (2.5.0)
|
|
49
|
+
build-essential (>= 0.0.0)
|
|
50
|
+
golang (~> 1.7)
|
|
51
|
+
poise (~> 2.6)
|
|
52
|
+
poise-service (~> 1.1)
|
|
53
|
+
rubyzip (~> 1.0)
|
|
54
|
+
homebrew (5.0.8)
|
|
55
|
+
hostsfile (3.0.1)
|
|
56
|
+
java (2.2.1)
|
|
57
|
+
homebrew (>= 0.0.0)
|
|
58
|
+
windows (>= 0.0.0)
|
|
59
|
+
mingw (2.1.0)
|
|
60
|
+
seven_zip (>= 0.0.0)
|
|
61
|
+
mongodb (0.16.2)
|
|
62
|
+
apt (>= 1.8.2)
|
|
63
|
+
python (>= 0.0.0)
|
|
64
|
+
runit (>= 1.5.0)
|
|
65
|
+
yum (>= 3.0)
|
|
66
|
+
mu-activedirectory (0.2.0)
|
|
67
|
+
chef-vault (~> 3.1.1)
|
|
68
|
+
windows (~> 5.1.1)
|
|
69
|
+
yum-epel (~> 3.2.0)
|
|
70
|
+
mu-firewall (0.1.2)
|
|
71
|
+
firewall (~> 2.7.1)
|
|
72
|
+
mu-glusterfs (0.1.0)
|
|
73
|
+
mu-firewall (>= 0.0.0)
|
|
74
|
+
yum (~> 5.1.0)
|
|
75
|
+
mu-master (0.9.6)
|
|
76
|
+
apache2 (< 6.0.0)
|
|
77
|
+
bind (~> 2.2.0)
|
|
78
|
+
bind9-ng (~> 0.1.0)
|
|
79
|
+
chef-sugar (>= 0.0.0)
|
|
80
|
+
chef-vault (~> 3.1.1)
|
|
81
|
+
consul-cluster (~> 2.0.0)
|
|
82
|
+
hostsfile (~> 3.0.1)
|
|
83
|
+
mu-activedirectory (>= 0.0.0)
|
|
84
|
+
mu-firewall (>= 0.0.0)
|
|
85
|
+
mu-nagios (>= 0.0.0)
|
|
86
|
+
mu-tools (>= 0.0.0)
|
|
87
|
+
mu-utility (>= 0.0.0)
|
|
88
|
+
nrpe (~> 2.0.3)
|
|
89
|
+
postfix (~> 5.3.1)
|
|
90
|
+
s3fs (>= 0.0.0)
|
|
91
|
+
vault-cluster (~> 2.1.0)
|
|
92
|
+
mu-mongo (0.5.0)
|
|
93
|
+
chef-vault (~> 3.1.1)
|
|
94
|
+
mongodb (~> 0.16.2)
|
|
95
|
+
mu-nagios (8.2.2)
|
|
96
|
+
apache2 (< 6.0.0)
|
|
97
|
+
build-essential (>= 5.0)
|
|
98
|
+
nginx (>= 7.0)
|
|
99
|
+
nrpe (>= 0.0.0)
|
|
100
|
+
php (>= 0.0.0)
|
|
101
|
+
php-fpm (>= 0.7.9)
|
|
102
|
+
yum-epel (>= 0.0.0)
|
|
103
|
+
zap (>= 0.6.0)
|
|
104
|
+
mu-openvpn (0.1.0)
|
|
105
|
+
chef-vault (~> 3.1.1)
|
|
106
|
+
mu-firewall (>= 0.0.0)
|
|
107
|
+
mu-utility (>= 0.0.0)
|
|
108
|
+
mu-splunk (1.3.0)
|
|
109
|
+
chef-vault (>= 1.0.4)
|
|
110
|
+
mu-tools (1.1.0)
|
|
111
|
+
chef-vault (~> 3.1.1)
|
|
112
|
+
chocolatey (>= 0.0.0)
|
|
113
|
+
database (~> 6.1.1)
|
|
114
|
+
firewall (>= 0.0.0)
|
|
115
|
+
java (~> 2.2.0)
|
|
116
|
+
mu-activedirectory (>= 0.0.0)
|
|
117
|
+
mu-firewall (>= 0.0.0)
|
|
118
|
+
mu-nagios (>= 0.0.0)
|
|
119
|
+
mu-splunk (>= 0.0.0)
|
|
120
|
+
mu-utility (>= 0.0.0)
|
|
121
|
+
oracle-instantclient (~> 1.1.0)
|
|
122
|
+
poise-python (~> 1.7.0)
|
|
123
|
+
postgresql (~> 7.1.0)
|
|
124
|
+
selinux (~> 3.0.0)
|
|
125
|
+
windows (~> 5.1.1)
|
|
126
|
+
yum-epel (~> 3.2.0)
|
|
127
|
+
mu-utility (0.6.0)
|
|
128
|
+
mu-firewall (>= 0.0.0)
|
|
129
|
+
windows (~> 5.1.1)
|
|
130
|
+
nginx (10.0.2)
|
|
131
|
+
ohai (~> 5.2)
|
|
132
|
+
nrpe (2.0.5)
|
|
133
|
+
build-essential (>= 0.0.0)
|
|
134
|
+
yum-epel (>= 0.0.0)
|
|
135
|
+
nssm (4.0.1)
|
|
136
|
+
windows (>= 0.0.0)
|
|
137
|
+
ohai (5.3.0)
|
|
138
|
+
oracle-instantclient (1.1.0)
|
|
139
|
+
build-essential (>= 0.0.0)
|
|
140
|
+
cpan (>= 0.0.0)
|
|
141
|
+
php (>= 0.0.0)
|
|
142
|
+
packagecloud (1.0.1)
|
|
143
|
+
php (7.0.0)
|
|
144
|
+
yum-epel (>= 0.0.0)
|
|
145
|
+
php-fpm (0.8.0)
|
|
146
|
+
poise (2.8.2)
|
|
147
|
+
poise-archive (1.5.0)
|
|
148
|
+
poise (~> 2.6)
|
|
149
|
+
poise-languages (2.1.2)
|
|
150
|
+
poise (~> 2.5)
|
|
151
|
+
poise-archive (~> 1.0)
|
|
152
|
+
poise-python (1.7.0)
|
|
153
|
+
poise (~> 2.7)
|
|
154
|
+
poise-languages (~> 2.0)
|
|
155
|
+
poise-service (1.5.2)
|
|
156
|
+
poise (~> 2.0)
|
|
157
|
+
postfix (5.3.1)
|
|
158
|
+
postgresql (7.1.4)
|
|
159
|
+
python (1.4.6)
|
|
160
|
+
build-essential (>= 0.0.0)
|
|
161
|
+
yum-epel (>= 0.0.0)
|
|
162
|
+
rubyzip (1.3.1)
|
|
163
|
+
poise (~> 2.2)
|
|
164
|
+
runit (5.1.2)
|
|
165
|
+
packagecloud (>= 0.0.0)
|
|
166
|
+
yum-epel (>= 0.0.0)
|
|
167
|
+
s3fs (3.0.1)
|
|
168
|
+
selinux (3.0.0)
|
|
169
|
+
seven_zip (3.1.2)
|
|
170
|
+
windows (>= 0.0.0)
|
|
171
|
+
ssl_certificate (1.12.0)
|
|
172
|
+
vault-cluster (2.1.0)
|
|
173
|
+
consul-cluster (~> 2.0)
|
|
174
|
+
hashicorp-vault (~> 2.1)
|
|
175
|
+
ssl_certificate (~> 1.11)
|
|
176
|
+
windows (5.1.6)
|
|
177
|
+
yum (5.1.0)
|
|
178
|
+
yum-epel (3.2.0)
|
|
179
|
+
zap (1.1.0)
|
data/README.md
CHANGED
|
@@ -17,11 +17,6 @@ The mu tooling is currently supported on RHEL or CentOS 6/7.
|
|
|
17
17
|
## Installation
|
|
18
18
|
See the [README](../master/install) in the install folder for mu master installation instructions
|
|
19
19
|
|
|
20
|
-
Alternatively, get started by clicking the Launch Button!!
|
|
21
|
-
|
|
22
|
-
This does create all the AWS resources in us-east-1 region.
|
|
23
|
-
|
|
24
|
-
[](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=CloudamaticInstaller&templateURL=https://s3.amazonaws.com/mu-cfn-installer/cfn_create_mu_master.json)
|
|
25
|
-
|
|
26
20
|
## Usage
|
|
27
21
|
See the [Usage](https://github.com/cloudamatic/mu/wiki/Usage) section of our Wiki for an overview of how to use the mu tooling for deployment
|
|
22
|
+
|
|
File without changes
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
Role Name
|
|
2
|
+
=========
|
|
3
|
+
|
|
4
|
+
Runs a basic install of Mu on a compatible host. See also https://github.com/cloudamatic/mu
|
|
5
|
+
|
|
6
|
+
Requirements
|
|
7
|
+
------------
|
|
8
|
+
|
|
9
|
+
CentOS 6, CentOS 7, or Amazon Linux 2 host with internet connectivity and no other major services running.
|
|
10
|
+
|
|
11
|
+
License
|
|
12
|
+
-------
|
|
13
|
+
|
|
14
|
+
Copyright:: Copyright (c) 2019 eGlobalTech, Inc., all rights reserved
|
|
15
|
+
|
|
16
|
+
Licensed under the BSD-3 license (the "License");
|
|
17
|
+
you may not use this file except in compliance with the License.
|
|
18
|
+
You may obtain a copy of the License in the root of the project or at
|
|
19
|
+
|
|
20
|
+
http://egt-labs.com/mu/LICENSE.html
|
|
21
|
+
|
|
22
|
+
Unless required by applicable law or agreed to in writing, software
|
|
23
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
24
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
25
|
+
See the License for the specific language governing permissions and
|
|
26
|
+
limitations under the License.
|
|
27
|
+
|
|
28
|
+
Author Information
|
|
29
|
+
------------------
|
|
30
|
+
|
|
31
|
+
Current developers: John Stange, Robert Patt-Corner, Ryan Bolyard, Zach Rowe
|
|
32
|
+
|
|
33
|
+
egt-labs-admins@egt-labs.com
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
galaxy_info:
|
|
2
|
+
author: your name
|
|
3
|
+
description: your description
|
|
4
|
+
company: your company (optional)
|
|
5
|
+
|
|
6
|
+
# If the issue tracker for your role is not on github, uncomment the
|
|
7
|
+
# next line and provide a value
|
|
8
|
+
# issue_tracker_url: http://example.com/issue/tracker
|
|
9
|
+
|
|
10
|
+
# Some suggested licenses:
|
|
11
|
+
# - BSD (default)
|
|
12
|
+
# - MIT
|
|
13
|
+
# - GPLv2
|
|
14
|
+
# - GPLv3
|
|
15
|
+
# - Apache
|
|
16
|
+
# - CC-BY
|
|
17
|
+
license: license (GPLv2, CC-BY, etc)
|
|
18
|
+
|
|
19
|
+
min_ansible_version: 2.4
|
|
20
|
+
|
|
21
|
+
# If this a Container Enabled role, provide the minimum Ansible Container version.
|
|
22
|
+
# min_ansible_container_version:
|
|
23
|
+
|
|
24
|
+
# Optionally specify the branch Galaxy will use when accessing the GitHub
|
|
25
|
+
# repo for this role. During role install, if no tags are available,
|
|
26
|
+
# Galaxy will use this branch. During import Galaxy will access files on
|
|
27
|
+
# this branch. If Travis integration is configured, only notifications for this
|
|
28
|
+
# branch will be accepted. Otherwise, in all cases, the repo's default branch
|
|
29
|
+
# (usually master) will be used.
|
|
30
|
+
#github_branch:
|
|
31
|
+
|
|
32
|
+
#
|
|
33
|
+
# Provide a list of supported platforms, and for each platform a list of versions.
|
|
34
|
+
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
|
|
35
|
+
# To view available platforms and versions (or releases), visit:
|
|
36
|
+
# https://galaxy.ansible.com/api/v1/platforms/
|
|
37
|
+
#
|
|
38
|
+
# platforms:
|
|
39
|
+
# - name: Fedora
|
|
40
|
+
# versions:
|
|
41
|
+
# - all
|
|
42
|
+
# - 25
|
|
43
|
+
# - name: SomePlatform
|
|
44
|
+
# versions:
|
|
45
|
+
# - all
|
|
46
|
+
# - 1.0
|
|
47
|
+
# - 7
|
|
48
|
+
# - 99.99
|
|
49
|
+
|
|
50
|
+
galaxy_tags: []
|
|
51
|
+
# List tags for your role here, one per line. A tag is a keyword that describes
|
|
52
|
+
# and categorizes the role. Users find roles by searching for tags. Be sure to
|
|
53
|
+
# remove the '[]' above, if you add tags to this list.
|
|
54
|
+
#
|
|
55
|
+
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
|
|
56
|
+
# Maximum 20 tags per role.
|
|
57
|
+
|
|
58
|
+
dependencies: []
|
|
59
|
+
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
|
|
60
|
+
# if you add dependencies to this list.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
- name: Copy installer script
|
|
3
|
+
copy:
|
|
4
|
+
dest: /root/mu_install.sh
|
|
5
|
+
src: ../../../../install/installer
|
|
6
|
+
mode: 0700
|
|
7
|
+
become: yes
|
|
8
|
+
|
|
9
|
+
- name: Run Mu Installer
|
|
10
|
+
command: /root/mu_install.sh -n --mu-admin-email {{ mu_admin_email }} --mu-admin-name {{ mu_service_name }} --hostname {{ mu_service_name }} --public-address {{ mu_canonical_ip }}
|
|
11
|
+
environment:
|
|
12
|
+
MU_BRANCH: development
|
|
13
|
+
become: yes
|
data/bin/mu-adopt
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
#!/usr/local/ruby-current/bin/ruby
|
|
2
|
+
#
|
|
3
|
+
# Copyright:: Copyright (c) 2019 eGlobalTech, Inc., all rights reserved
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the BSD-3 license (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License in the root of the project or at
|
|
8
|
+
#
|
|
9
|
+
# http://egt-labs.com/mu/LICENSE.html
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
|
|
17
|
+
require File.expand_path(File.dirname(__FILE__))+"/mu-load-config.rb"
|
|
18
|
+
|
|
19
|
+
require 'rubygems'
|
|
20
|
+
require 'bundler/setup'
|
|
21
|
+
require 'optimist'
|
|
22
|
+
require 'mu'
|
|
23
|
+
|
|
24
|
+
available_clouds = MU::Cloud.supportedClouds
|
|
25
|
+
available_clouds.reject! { |cloud|
|
|
26
|
+
cloudclass = Object.const_get("MU").const_get("Cloud").const_get(cloud)
|
|
27
|
+
cloudclass.listCredentials.nil? or cloudclass.listCredentials.size == 0
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
available_types = MU::Cloud.resource_types.keys.map { |t| t.to_s }
|
|
31
|
+
grouping_options = {
|
|
32
|
+
"logical" => "Group resources in logical layers (folders and habitats together, users/roles/groups together, network resources together, etc)",
|
|
33
|
+
"omnibus" => "Jam everything into one monolothic configuration"
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
$opt = Optimist::options do
|
|
37
|
+
banner <<-EOS
|
|
38
|
+
#{$0}
|
|
39
|
+
EOS
|
|
40
|
+
opt :appname, "The overarching name of the application stack we will generate", :required => false, :default => "mu", :type => :string
|
|
41
|
+
opt :types, "The resource types to scan and import. Valid types: #{available_types.join(", ")}", :required => false, :type => :strings, :default => available_types
|
|
42
|
+
opt :clouds, "The cloud providers to scan and import.", :required => false, :type => :strings, :default => available_clouds
|
|
43
|
+
opt :parent, "Where applicable, resources which reside in the root folder or organization are configured with the specified parent in our target BoK", :required => false, :type => :string
|
|
44
|
+
opt :billing, "Force-set this billing entity on created resources, instead of copying from the live resources", :required => false, :type => :string
|
|
45
|
+
opt :sources, "One or more sets of credentials to use when importing resources. By default we will search and import from all sets of available credentials for each cloud provider specified with --clouds", :required => false, :type => :strings
|
|
46
|
+
opt :credentials, "Override the 'credentials' value in our generated Baskets of Kittens to target a single, specific account. Our default behavior is to set each resource to deploy into the account from which it was sourced.", :required => false, :type => :string
|
|
47
|
+
opt :savedeploys, "Generate actual deployment metadata in #{MU.dataDir}/deployments, as though the resources we found were created with mu-deploy. If we are generating more than one configuration, and a resource needs to reference another resource (e.g. to declare a VPC in which to reside), this will allow us to reference them as virtual resource, rather than by raw cloud identifier.", :required => false, :type => :boolean
|
|
48
|
+
opt :diff, "List the differences between what we find and an existing, saved deploy from a previous run, if one exists.", :required => false, :type => :boolean
|
|
49
|
+
opt :grouping, "Methods for grouping found resources into separate Baskets.\n\n"+MU::Adoption::GROUPMODES.keys.map { |g| "* "+g.to_s+": "+MU::Adoption::GROUPMODES[g] }.join("\n")+"\n\n", :required => false, :type => :string, :default => "logical"
|
|
50
|
+
opt :habitats, "Limit scope of research searching to the named accounts/projects/subscriptions, instead of search all habitats visible to our credentials.", :required => false, :type => :strings
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
ok = true
|
|
54
|
+
|
|
55
|
+
app_pattern = Regexp.new('^[a-z][0-9a-z\-_]{0,10}[a-z0-9]$', true)
|
|
56
|
+
|
|
57
|
+
if !$opt[:appname] or !app_pattern.match($opt[:appname])
|
|
58
|
+
MU.log "--appname must match pattern #{app_pattern.to_s}", MU::ERR
|
|
59
|
+
exit 1
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
if !$opt[:savedeploys_given]
|
|
63
|
+
$opt[:savedeploys] = !$opt[:diff]
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
types = []
|
|
67
|
+
$opt[:types].each { |t|
|
|
68
|
+
t_name = t.gsub(/-/, "_")
|
|
69
|
+
t_name.gsub!(/^[^a-z0-9]|[^a-z0-9]$/i, "")
|
|
70
|
+
shortclass, name, plural, classname = MU::Cloud.getResourceNames(t_name)
|
|
71
|
+
if !classname
|
|
72
|
+
MU.log "'#{t}' does not map to a valid Mu resource type", MU::ERR
|
|
73
|
+
ok = false
|
|
74
|
+
else
|
|
75
|
+
types << shortclass
|
|
76
|
+
end
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
clouds = []
|
|
80
|
+
if !$opt[:clouds] or $opt[:clouds].empty?
|
|
81
|
+
MU.log "At least one cloud must be specified", MU::ERR
|
|
82
|
+
ok = false
|
|
83
|
+
end
|
|
84
|
+
$opt[:clouds].each { |cloud|
|
|
85
|
+
found_match = false
|
|
86
|
+
MU::Cloud.supportedClouds.each { |known_cloud|
|
|
87
|
+
if cloud.match(/^[^a-z0-9]*?#{Regexp.quote(known_cloud)}[^a-z0-9]*?$/i)
|
|
88
|
+
clouds << known_cloud
|
|
89
|
+
found_match = true
|
|
90
|
+
break
|
|
91
|
+
end
|
|
92
|
+
}
|
|
93
|
+
if !found_match
|
|
94
|
+
MU.log "'#{cloud}' does not map to a valid Mu cloud layer", MU::ERR
|
|
95
|
+
ok = false
|
|
96
|
+
end
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if !ok
|
|
100
|
+
puts "Invoke with --help for more information."
|
|
101
|
+
exit 1
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
adoption = MU::Adoption.new(clouds: clouds, types: types, parent: $opt[:parent], billing: $opt[:billing], sources: $opt[:sources], credentials: $opt[:credentials], group_by: $opt[:grouping].to_sym, savedeploys: $opt[:savedeploys], diff: $opt[:diff], habitats: $opt[:habitats])
|
|
106
|
+
adoption.scrapeClouds
|
|
107
|
+
MU.log "Generating baskets", MU::DEBUG
|
|
108
|
+
boks = adoption.generateBaskets(prefix: $opt[:appname])
|
|
109
|
+
|
|
110
|
+
boks.each_pair { |appname, bok|
|
|
111
|
+
MU.log "Writing to #{appname}.yaml"
|
|
112
|
+
File.open("#{appname}.yaml", "w") { |f|
|
|
113
|
+
f.write JSON.parse(JSON.generate(bok)).to_yaml
|
|
114
|
+
}
|
|
115
|
+
conf_engine = MU::Config.new("#{appname}.yaml")
|
|
116
|
+
stack_conf = conf_engine.config
|
|
117
|
+
# puts stack_conf.to_yaml
|
|
118
|
+
MU.log "#{appname}.yaml validated successfully", MU::NOTICE
|
|
119
|
+
MU::Cloud.resource_types.each_pair { |type, cfg|
|
|
120
|
+
if bok[cfg[:cfg_plural]]
|
|
121
|
+
MU.log "#{bok[cfg[:cfg_plural]].size.to_s} #{cfg[:cfg_plural]}", MU::NOTICE
|
|
122
|
+
end
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|