cloud-mu 2.0.4 → 2.1.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/README.md +6 -0
- data/ansible/roles/geerlingguy.firewall/LICENSE +20 -0
- data/ansible/roles/geerlingguy.firewall/README.md +93 -0
- data/ansible/roles/geerlingguy.firewall/defaults/main.yml +19 -0
- data/ansible/roles/geerlingguy.firewall/handlers/main.yml +3 -0
- data/ansible/roles/geerlingguy.firewall/meta/main.yml +26 -0
- data/ansible/roles/geerlingguy.firewall/molecule/default/molecule.yml +40 -0
- data/ansible/roles/geerlingguy.firewall/molecule/default/playbook.yml +17 -0
- data/ansible/roles/geerlingguy.firewall/molecule/default/tests/test_default.py +14 -0
- data/ansible/roles/geerlingguy.firewall/molecule/default/yaml-lint.yml +6 -0
- data/ansible/roles/geerlingguy.firewall/tasks/disable-other-firewalls.yml +66 -0
- data/ansible/roles/geerlingguy.firewall/tasks/main.yml +44 -0
- data/ansible/roles/geerlingguy.firewall/templates/firewall.bash.j2 +136 -0
- data/ansible/roles/geerlingguy.firewall/templates/firewall.init.j2 +52 -0
- data/ansible/roles/geerlingguy.firewall/templates/firewall.unit.j2 +12 -0
- data/bin/mu-ansible-secret +114 -0
- data/bin/mu-aws-setup +74 -21
- data/bin/mu-node-manage +22 -12
- data/bin/mu-self-update +11 -4
- data/cloud-mu.gemspec +3 -3
- data/cookbooks/firewall/metadata.json +1 -1
- data/cookbooks/firewall/recipes/default.rb +4 -0
- data/cookbooks/mu-master/recipes/default.rb +0 -3
- data/cookbooks/mu-master/recipes/init.rb +15 -9
- data/cookbooks/mu-master/templates/default/mu.rc.erb +1 -1
- data/cookbooks/mu-master/templates/default/web_app.conf.erb +0 -4
- data/cookbooks/mu-php54/metadata.rb +2 -2
- data/cookbooks/mu-php54/recipes/default.rb +1 -3
- data/cookbooks/mu-tools/recipes/eks.rb +25 -2
- data/cookbooks/mu-tools/recipes/nrpe.rb +6 -1
- data/cookbooks/mu-tools/recipes/set_mu_hostname.rb +8 -0
- data/cookbooks/mu-tools/templates/default/etc_hosts.erb +1 -1
- data/cookbooks/mu-tools/templates/default/kubeconfig.erb +2 -2
- data/cookbooks/mu-tools/templates/default/kubelet-config.json.erb +35 -0
- data/extras/clean-stock-amis +10 -4
- data/extras/list-stock-amis +64 -0
- data/extras/python_rpm/build.sh +21 -0
- data/extras/python_rpm/muthon.spec +68 -0
- data/install/README.md +5 -2
- data/install/user-dot-murc.erb +1 -1
- data/modules/mu.rb +52 -8
- data/modules/mu/clouds/aws.rb +1 -1
- data/modules/mu/clouds/aws/container_cluster.rb +1071 -47
- data/modules/mu/clouds/aws/firewall_rule.rb +45 -19
- data/modules/mu/clouds/aws/log.rb +3 -2
- data/modules/mu/clouds/aws/role.rb +18 -2
- data/modules/mu/clouds/aws/server.rb +11 -5
- data/modules/mu/clouds/aws/server_pool.rb +20 -24
- data/modules/mu/clouds/aws/userdata/linux.erb +1 -1
- data/modules/mu/clouds/aws/vpc.rb +9 -0
- data/modules/mu/clouds/google/server.rb +2 -0
- data/modules/mu/config.rb +3 -3
- data/modules/mu/config/container_cluster.rb +1 -1
- data/modules/mu/config/firewall_rule.rb +4 -0
- data/modules/mu/config/role.rb +29 -0
- data/modules/mu/config/server.rb +9 -4
- data/modules/mu/groomer.rb +14 -3
- data/modules/mu/groomers/ansible.rb +553 -0
- data/modules/mu/groomers/chef.rb +0 -5
- data/modules/mu/mommacat.rb +18 -3
- data/modules/scratchpad.erb +1 -1
- data/requirements.txt +5 -0
- metadata +39 -16
data/modules/mu/groomers/chef.rb
CHANGED
@@ -20,11 +20,6 @@ module MU
|
|
20
20
|
# Support for Chef as a host configuration management layer.
|
21
21
|
class Chef
|
22
22
|
|
23
|
-
# Wrapper class for temporary Exceptions. Gives our internals something
|
24
|
-
# to inherit that will log a notice message appropriately before
|
25
|
-
# bubbling up.
|
26
|
-
class MuNoSuchSecret < StandardError;end
|
27
|
-
|
28
23
|
Object.class_eval {
|
29
24
|
def self.const_missing(symbol)
|
30
25
|
if symbol.to_sym == :Chef or symbol.to_sym == :ChefVault
|
data/modules/mu/mommacat.rb
CHANGED
@@ -1058,7 +1058,8 @@ module MU
|
|
1058
1058
|
allow_multi: false,
|
1059
1059
|
calling_deploy: MU.mommacat,
|
1060
1060
|
flags: {},
|
1061
|
-
dummy_ok: false
|
1061
|
+
dummy_ok: false,
|
1062
|
+
debug: false
|
1062
1063
|
)
|
1063
1064
|
return nil if cloud == "CloudFormation" and !cloud_id.nil?
|
1064
1065
|
begin
|
@@ -1094,7 +1095,9 @@ module MU
|
|
1094
1095
|
deploy_id = mu_name.sub(/^(\w+-\w+-\d{10}-[A-Z]{2})-/, '\1')
|
1095
1096
|
end
|
1096
1097
|
end
|
1097
|
-
|
1098
|
+
loglevel = debug ? MU::NOTICE : MU::DEBUG
|
1099
|
+
|
1100
|
+
MU.log "findStray(cloud: #{cloud}, type: #{type}, deploy_id: #{deploy_id}, calling_deploy: #{calling_deploy.deploy_id if !calling_deploy.nil?}, name: #{name}, cloud_id: #{cloud_id}, tag_key: #{tag_key}, tag_value: #{tag_value}, credentials: #{credentials})", loglevel, details: flags
|
1098
1101
|
|
1099
1102
|
# See if the thing we're looking for is a member of the deploy that's
|
1100
1103
|
# asking after it.
|
@@ -1110,16 +1113,19 @@ module MU
|
|
1110
1113
|
mu_descs = MU::MommaCat.getResourceMetadata(cfg_plural, name: name, deploy_id: deploy_id, mu_name: mu_name)
|
1111
1114
|
|
1112
1115
|
mu_descs.each_pair { |deploy_id, matches|
|
1116
|
+
MU.log "findStray: #{deploy_id} had #{matches.size.to_s} initial matches", loglevel
|
1113
1117
|
next if matches.nil? or matches.size == 0
|
1114
1118
|
momma = MU::MommaCat.getLitter(deploy_id)
|
1115
1119
|
straykitten = nil
|
1116
1120
|
|
1121
|
+
|
1117
1122
|
# If we found exactly one match in this deploy, use its metadata to
|
1118
1123
|
# guess at resource names we weren't told.
|
1119
1124
|
if matches.size == 1 and name.nil? and mu_name.nil?
|
1120
1125
|
if cloud_id.nil?
|
1121
1126
|
straykitten = momma.findLitterMate(type: type, name: matches.first["name"], cloud_id: matches.first["cloud_id"], credentials: credentials)
|
1122
1127
|
else
|
1128
|
+
MU.log "findStray: attempting to narrow down with cloud_id #{cloud_id}", loglevel
|
1123
1129
|
straykitten = momma.findLitterMate(type: type, name: matches.first["name"], cloud_id: cloud_id, credentials: credentials)
|
1124
1130
|
end
|
1125
1131
|
# elsif !flags.nil? and !flags.empty? # XXX eh, maybe later
|
@@ -1141,6 +1147,11 @@ module MU
|
|
1141
1147
|
|
1142
1148
|
next if straykitten.nil?
|
1143
1149
|
|
1150
|
+
if straykitten.cloud_id.nil?
|
1151
|
+
MU.log "findStray: kitten #{straykitten.mu_name} came back with nil cloud_id", MU::WARN
|
1152
|
+
next
|
1153
|
+
end
|
1154
|
+
|
1144
1155
|
kittens[straykitten.cloud_id] = straykitten
|
1145
1156
|
|
1146
1157
|
# Peace out if we found the exact resource we want
|
@@ -1154,6 +1165,7 @@ module MU
|
|
1154
1165
|
end
|
1155
1166
|
}
|
1156
1167
|
|
1168
|
+
|
1157
1169
|
# if !mu_descs.nil? and mu_descs.size > 0 and !deploy_id.nil? and !deploy_id.empty? and !mu_descs.first.empty?
|
1158
1170
|
# MU.log "I found descriptions that might match #{resourceclass.cfg_plural} name: #{name}, deploy_id: #{deploy_id}, mu_name: #{mu_name}, but couldn't isolate my target kitten", MU::WARN, details: caller
|
1159
1171
|
# puts File.read(deploy_dir(deploy_id)+"/deployment.json")
|
@@ -1171,7 +1183,9 @@ module MU
|
|
1171
1183
|
|
1172
1184
|
matches = []
|
1173
1185
|
|
1186
|
+
found_the_thing = false
|
1174
1187
|
credlist.each { |creds|
|
1188
|
+
break if found_the_thing
|
1175
1189
|
if cloud_id or (tag_key and tag_value) or !flags.empty?
|
1176
1190
|
regions = []
|
1177
1191
|
begin
|
@@ -1193,6 +1207,7 @@ module MU
|
|
1193
1207
|
cloud_descs[r] = resourceclass.find(cloud_id: cloud_id, region: r, tag_key: tag_key, tag_value: tag_value, flags: flags, credentials: creds)
|
1194
1208
|
# Stop if you found the thing
|
1195
1209
|
if cloud_id and cloud_descs[r] and !cloud_descs[r].empty?
|
1210
|
+
found_the_thing = true
|
1196
1211
|
break
|
1197
1212
|
end
|
1198
1213
|
}
|
@@ -1210,7 +1225,7 @@ module MU
|
|
1210
1225
|
# Give it a fake name if we have to and have decided that's ok.
|
1211
1226
|
if (name.nil? or name.empty?)
|
1212
1227
|
if !dummy_ok
|
1213
|
-
MU.log "Found cloud provider data for #{cloud} #{type} #{kitten_cloud_id}, but without a name I can't manufacture a proper #{type} object to return",
|
1228
|
+
MU.log "Found cloud provider data for #{cloud} #{type} #{kitten_cloud_id}, but without a name I can't manufacture a proper #{type} object to return", loglevel, details: caller
|
1214
1229
|
next
|
1215
1230
|
else
|
1216
1231
|
if !mu_name.nil?
|
data/modules/scratchpad.erb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
html.erb
|
data/requirements.txt
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloud-mu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Stange
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2019-
|
15
|
+
date: 2019-05-27 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: erubis
|
@@ -202,14 +202,14 @@ dependencies:
|
|
202
202
|
requirements:
|
203
203
|
- - "~>"
|
204
204
|
- !ruby/object:Gem::Version
|
205
|
-
version: '1.
|
205
|
+
version: '1.8'
|
206
206
|
type: :runtime
|
207
207
|
prerelease: false
|
208
208
|
version_requirements: !ruby/object:Gem::Requirement
|
209
209
|
requirements:
|
210
210
|
- - "~>"
|
211
211
|
- !ruby/object:Gem::Version
|
212
|
-
version: '1.
|
212
|
+
version: '1.8'
|
213
213
|
- !ruby/object:Gem::Dependency
|
214
214
|
name: solve
|
215
215
|
requirement: !ruby/object:Gem::Requirement
|
@@ -353,21 +353,22 @@ description: |+
|
|
353
353
|
|
354
354
|
email: eGTLabs@eglobaltech.com
|
355
355
|
executables:
|
356
|
-
- mu-upload-chef-artifacts
|
357
|
-
- mu-configure
|
358
356
|
- mu-gen-docs
|
357
|
+
- mu-node-manage
|
358
|
+
- mu-ssh
|
359
|
+
- mu-gen-env
|
360
|
+
- mu-configure
|
359
361
|
- mu-gcp-setup
|
360
362
|
- mu-tunnel-nagios
|
361
363
|
- mu-deploy
|
362
|
-
- mu-firewall-allow-clients
|
363
|
-
- mu-self-update
|
364
|
-
- mu-user-manage
|
365
364
|
- mu-load-config.rb
|
366
|
-
- mu-
|
367
|
-
- mu-ssh
|
368
|
-
- mu-cleanup
|
369
|
-
- mu-gen-env
|
365
|
+
- mu-ansible-secret
|
370
366
|
- mu-aws-setup
|
367
|
+
- mu-upload-chef-artifacts
|
368
|
+
- mu-user-manage
|
369
|
+
- mu-cleanup
|
370
|
+
- mu-firewall-allow-clients
|
371
|
+
- mu-self-update
|
371
372
|
extensions: []
|
372
373
|
extra_rdoc_files: []
|
373
374
|
files:
|
@@ -375,6 +376,21 @@ files:
|
|
375
376
|
- Jenkinsfile
|
376
377
|
- LICENSE.md
|
377
378
|
- README.md
|
379
|
+
- ansible/roles/geerlingguy.firewall/LICENSE
|
380
|
+
- ansible/roles/geerlingguy.firewall/README.md
|
381
|
+
- ansible/roles/geerlingguy.firewall/defaults/main.yml
|
382
|
+
- ansible/roles/geerlingguy.firewall/handlers/main.yml
|
383
|
+
- ansible/roles/geerlingguy.firewall/meta/main.yml
|
384
|
+
- ansible/roles/geerlingguy.firewall/molecule/default/molecule.yml
|
385
|
+
- ansible/roles/geerlingguy.firewall/molecule/default/playbook.yml
|
386
|
+
- ansible/roles/geerlingguy.firewall/molecule/default/tests/test_default.py
|
387
|
+
- ansible/roles/geerlingguy.firewall/molecule/default/yaml-lint.yml
|
388
|
+
- ansible/roles/geerlingguy.firewall/tasks/disable-other-firewalls.yml
|
389
|
+
- ansible/roles/geerlingguy.firewall/tasks/main.yml
|
390
|
+
- ansible/roles/geerlingguy.firewall/templates/firewall.bash.j2
|
391
|
+
- ansible/roles/geerlingguy.firewall/templates/firewall.init.j2
|
392
|
+
- ansible/roles/geerlingguy.firewall/templates/firewall.unit.j2
|
393
|
+
- bin/mu-ansible-secret
|
378
394
|
- bin/mu-aws-setup
|
379
395
|
- bin/mu-cleanup
|
380
396
|
- bin/mu-configure
|
@@ -718,6 +734,7 @@ files:
|
|
718
734
|
- cookbooks/mu-tools/templates/default/etc_pamd_system-auth.erb
|
719
735
|
- cookbooks/mu-tools/templates/default/etc_sysconfig_network.erb
|
720
736
|
- cookbooks/mu-tools/templates/default/kubeconfig.erb
|
737
|
+
- cookbooks/mu-tools/templates/default/kubelet-config.json.erb
|
721
738
|
- cookbooks/mu-tools/templates/default/kubelet.service.erb
|
722
739
|
- cookbooks/mu-tools/templates/default/maldet_scanall.sh.erb
|
723
740
|
- cookbooks/mu-tools/templates/default/nrpe.cfg.erb
|
@@ -858,7 +875,10 @@ files:
|
|
858
875
|
- extras/image-generators/aws/windows.yaml
|
859
876
|
- extras/image-generators/gcp/centos6.yaml
|
860
877
|
- extras/lambda_waf_domain_blacklist.py
|
878
|
+
- extras/list-stock-amis
|
861
879
|
- extras/platform_berksfile_base
|
880
|
+
- extras/python_rpm/build.sh
|
881
|
+
- extras/python_rpm/muthon.spec
|
862
882
|
- extras/ruby_rpm/build.sh
|
863
883
|
- extras/ruby_rpm/muby.spec
|
864
884
|
- extras/vault_tools/README.md
|
@@ -985,6 +1005,7 @@ files:
|
|
985
1005
|
- modules/mu/deploy.rb
|
986
1006
|
- modules/mu/groomer.rb
|
987
1007
|
- modules/mu/groomers/README.md
|
1008
|
+
- modules/mu/groomers/ansible.rb
|
988
1009
|
- modules/mu/groomers/chef.rb
|
989
1010
|
- modules/mu/logger.rb
|
990
1011
|
- modules/mu/master.rb
|
@@ -995,6 +1016,7 @@ files:
|
|
995
1016
|
- modules/scratchpad.erb
|
996
1017
|
- modules/tests/super_complex_bok.yml
|
997
1018
|
- modules/tests/super_simple_bok.yml
|
1019
|
+
- requirements.txt
|
998
1020
|
- roles/demo-dbservice-configure.json
|
999
1021
|
- roles/demo-portal-configure.json
|
1000
1022
|
- roles/mu-master-jenkins.json
|
@@ -1058,11 +1080,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1058
1080
|
version: '2.4'
|
1059
1081
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1060
1082
|
requirements:
|
1061
|
-
- - "
|
1083
|
+
- - ">"
|
1062
1084
|
- !ruby/object:Gem::Version
|
1063
|
-
version:
|
1085
|
+
version: 1.3.1
|
1064
1086
|
requirements: []
|
1065
|
-
|
1087
|
+
rubyforge_project:
|
1088
|
+
rubygems_version: 2.5.2.1
|
1066
1089
|
signing_key:
|
1067
1090
|
specification_version: 4
|
1068
1091
|
summary: The eGTLabs Mu toolkit for unified cloud deployments
|