cloud-mu 3.4.0 → 3.5.0
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 +4 -4
- data/ansible/roles/mu-nat/tasks/main.yml +3 -0
- data/bin/mu-aws-setup +41 -7
- data/bin/mu-azure-setup +34 -0
- data/bin/mu-configure +214 -119
- data/bin/mu-gcp-setup +37 -2
- data/bin/mu-node-manage +3 -0
- data/bin/mu-refresh-ssl +67 -0
- data/bin/mu-run-tests +14 -4
- data/bin/mu-self-update +30 -10
- data/bin/mu-upload-chef-artifacts +30 -26
- data/cloud-mu.gemspec +8 -6
- data/cookbooks/mu-master/attributes/default.rb +5 -1
- data/cookbooks/mu-master/metadata.rb +2 -2
- data/cookbooks/mu-master/recipes/default.rb +81 -26
- data/cookbooks/mu-master/recipes/init.rb +197 -62
- data/cookbooks/mu-master/recipes/update_nagios_only.rb +1 -1
- data/cookbooks/mu-master/recipes/vault.rb +78 -77
- data/cookbooks/mu-master/templates/default/mods/rewrite.conf.erb +1 -0
- data/cookbooks/mu-master/templates/default/nagios.conf.erb +103 -0
- data/cookbooks/mu-master/templates/default/web_app.conf.erb +14 -30
- data/cookbooks/mu-tools/attributes/default.rb +5 -0
- data/cookbooks/mu-tools/files/centos-6/CentOS-Base.repo +47 -0
- data/cookbooks/mu-tools/libraries/helper.rb +12 -2
- data/cookbooks/mu-tools/libraries/monkey.rb +1 -1
- data/cookbooks/mu-tools/recipes/apply_security.rb +6 -0
- data/cookbooks/mu-tools/recipes/aws_api.rb +6 -4
- data/cookbooks/mu-tools/recipes/base_repositories.rb +1 -1
- data/cookbooks/mu-tools/recipes/gcloud.rb +2 -9
- data/cookbooks/mu-tools/recipes/google_api.rb +5 -2
- data/cookbooks/mu-tools/resources/disk.rb +108 -58
- data/extras/Gemfile.lock.bootstrap +394 -0
- data/extras/bucketstubs/error.html +0 -0
- data/extras/bucketstubs/index.html +0 -0
- data/extras/clean-stock-amis +9 -9
- data/extras/git_rpm/build.sh +20 -0
- data/extras/git_rpm/mugit.spec +53 -0
- data/extras/image-generators/VMWare/centos8.yaml +15 -0
- data/extras/openssl_rpm/build.sh +19 -0
- data/extras/openssl_rpm/mussl.spec +46 -0
- data/extras/python_rpm/muthon.spec +14 -4
- data/extras/ruby_rpm/muby.spec +9 -5
- data/extras/sqlite_rpm/build.sh +19 -0
- data/extras/sqlite_rpm/muqlite.spec +47 -0
- data/install/installer +7 -5
- data/modules/mu.rb +12 -5
- data/modules/mu/cloud/machine_images.rb +1 -1
- data/modules/mu/cloud/providers.rb +6 -1
- data/modules/mu/cloud/resource_base.rb +1 -1
- data/modules/mu/cloud/ssh_sessions.rb +4 -0
- data/modules/mu/config.rb +28 -12
- data/modules/mu/config/database.rb +2 -2
- data/modules/mu/config/firewall_rule.rb +1 -1
- data/modules/mu/config/ref.rb +2 -2
- data/modules/mu/config/schema_helpers.rb +12 -3
- data/modules/mu/config/server.rb +10 -4
- data/modules/mu/config/server_pool.rb +2 -2
- data/modules/mu/config/vpc.rb +10 -10
- data/modules/mu/defaults/AWS.yaml +32 -32
- data/modules/mu/deploy.rb +23 -10
- data/modules/mu/groomers/chef.rb +2 -2
- data/modules/mu/master.rb +49 -3
- data/modules/mu/mommacat.rb +8 -5
- data/modules/mu/mommacat/naming.rb +2 -2
- data/modules/mu/mommacat/storage.rb +22 -27
- data/modules/mu/providers/aws.rb +142 -48
- data/modules/mu/providers/aws/alarm.rb +3 -3
- data/modules/mu/providers/aws/bucket.rb +19 -19
- data/modules/mu/providers/aws/cache_cluster.rb +22 -22
- data/modules/mu/providers/aws/cdn.rb +2 -2
- data/modules/mu/providers/aws/collection.rb +14 -14
- data/modules/mu/providers/aws/container_cluster.rb +27 -27
- data/modules/mu/providers/aws/database.rb +40 -39
- data/modules/mu/providers/aws/dnszone.rb +5 -5
- data/modules/mu/providers/aws/endpoint.rb +35 -35
- data/modules/mu/providers/aws/firewall_rule.rb +26 -23
- data/modules/mu/providers/aws/function.rb +28 -28
- data/modules/mu/providers/aws/group.rb +7 -7
- data/modules/mu/providers/aws/habitat.rb +2 -2
- data/modules/mu/providers/aws/job.rb +6 -6
- data/modules/mu/providers/aws/loadbalancer.rb +34 -34
- data/modules/mu/providers/aws/log.rb +14 -14
- data/modules/mu/providers/aws/msg_queue.rb +10 -10
- data/modules/mu/providers/aws/nosqldb.rb +8 -8
- data/modules/mu/providers/aws/notifier.rb +7 -7
- data/modules/mu/providers/aws/role.rb +17 -15
- data/modules/mu/providers/aws/search_domain.rb +10 -10
- data/modules/mu/providers/aws/server.rb +176 -95
- data/modules/mu/providers/aws/server_pool.rb +65 -105
- data/modules/mu/providers/aws/storage_pool.rb +17 -9
- data/modules/mu/providers/aws/user.rb +1 -1
- data/modules/mu/providers/aws/vpc.rb +103 -51
- data/modules/mu/providers/aws/vpc_subnet.rb +43 -39
- data/modules/mu/providers/azure.rb +78 -12
- data/modules/mu/providers/azure/server.rb +18 -3
- data/modules/mu/providers/cloudformation/server.rb +1 -1
- data/modules/mu/providers/google.rb +19 -4
- data/modules/mu/providers/google/folder.rb +6 -2
- data/modules/mu/providers/google/function.rb +65 -30
- data/modules/mu/providers/google/role.rb +1 -1
- data/modules/mu/providers/google/vpc.rb +27 -2
- data/modules/tests/aws-servers-with-handrolled-iam.yaml +37 -0
- data/modules/tests/k8s.yaml +1 -1
- metadata +24 -8
|
@@ -364,6 +364,12 @@ end
|
|
|
364
364
|
}
|
|
365
365
|
end
|
|
366
366
|
|
|
367
|
+
|
|
368
|
+
# The API is filled with lies
|
|
369
|
+
@subnets.reject! { |s|
|
|
370
|
+
!MU::Cloud::Google.listRegions(credentials: @credentials).include?(s.az)
|
|
371
|
+
}
|
|
372
|
+
|
|
367
373
|
return @subnets
|
|
368
374
|
end
|
|
369
375
|
|
|
@@ -442,14 +448,19 @@ end
|
|
|
442
448
|
|
|
443
449
|
# Check for a subnet in this VPC matching one or more of the specified
|
|
444
450
|
# criteria, and return it if found.
|
|
445
|
-
def getSubnet(cloud_id: nil, name: nil, tag_key: nil, tag_value: nil, ip_block: nil, region: nil)
|
|
451
|
+
def getSubnet(cloud_id: nil, name: nil, tag_key: nil, tag_value: nil, ip_block: nil, region: nil, subnet_mu_name: nil)
|
|
446
452
|
if !cloud_id.nil? and cloud_id.match(/^https:\/\//)
|
|
447
453
|
cloud_id.match(/\/regions\/([^\/]+)\/subnetworks\/([^\/]+)$/)
|
|
448
454
|
region = Regexp.last_match[1]
|
|
449
455
|
cloud_id = Regexp.last_match[2]
|
|
450
456
|
cloud_id.gsub!(/.*?\//, "")
|
|
451
457
|
end
|
|
452
|
-
|
|
458
|
+
|
|
459
|
+
if name
|
|
460
|
+
subnet_mu_name ||= @config['scrub_mu_isms'] ? @cloud_id+name.downcase : MU::Cloud::Google.nameStr(@deploy.getResourceName(name, max_length: 61))
|
|
461
|
+
end
|
|
462
|
+
|
|
463
|
+
MU.log "getSubnet(cloud_id: #{cloud_id}, name: #{name}, tag_key: #{tag_key}, tag_value: #{tag_value}, ip_block: #{ip_block}, region: #{region}, subnet_mu_name: #{subnet_mu_name})", MU::DEBUG, details: caller[0]
|
|
453
464
|
subnets.each { |subnet|
|
|
454
465
|
next if region and subnet.az != region
|
|
455
466
|
if !cloud_id.nil? and !subnet.cloud_id.nil? and subnet.cloud_id.to_s == cloud_id.to_s
|
|
@@ -457,6 +468,9 @@ end
|
|
|
457
468
|
elsif !name.nil? and !subnet.name.nil? and
|
|
458
469
|
subnet.name.downcase.to_s == name.downcase.to_s
|
|
459
470
|
return subnet
|
|
471
|
+
elsif !subnet_mu_name.nil? and !subnet.name.nil? and
|
|
472
|
+
subnet.name.downcase.to_s == subnet_mu_name.downcase.to_s
|
|
473
|
+
return subnet
|
|
460
474
|
end
|
|
461
475
|
}
|
|
462
476
|
return nil
|
|
@@ -931,6 +945,14 @@ MU.log "ROUTES TO #{target_instance.name}", MU::WARN, details: resp
|
|
|
931
945
|
else
|
|
932
946
|
route['nat_host_name'] = nat['name']
|
|
933
947
|
route['priority'] = 100
|
|
948
|
+
MU::Config.addDependency(vpc, nat['name'], "server", their_phase: "groom", my_phase: "groom")
|
|
949
|
+
vpc["bastion"] = MU::Config::Ref.get(
|
|
950
|
+
name: nat['name'],
|
|
951
|
+
cloud: vpc['cloud'],
|
|
952
|
+
credentials: vpc['credentials'],
|
|
953
|
+
type: "servers"
|
|
954
|
+
)
|
|
955
|
+
|
|
934
956
|
end
|
|
935
957
|
end
|
|
936
958
|
}
|
|
@@ -1172,6 +1194,9 @@ MU.log "ROUTES TO #{target_instance.name}", MU::WARN, details: resp
|
|
|
1172
1194
|
if e.message.match(/notFound: /)
|
|
1173
1195
|
MU.log "Failed to fetch cloud description for Google subnet #{@cloud_id}", MU::WARN, details: { "project" => @parent.habitat_id, "region" => @az, "name" => @cloud_id }
|
|
1174
1196
|
return nil
|
|
1197
|
+
elsif e.message.match(/Unknown region\. /)
|
|
1198
|
+
MU.log "Google subnet #{@cloud_id} seems like it should live in #{@az}, but that's not a valid region", MU::WARN, details: { "project" => @parent.habitat_id, "region" => @az, "name" => @cloud_id }
|
|
1199
|
+
return nil
|
|
1175
1200
|
else
|
|
1176
1201
|
raise e
|
|
1177
1202
|
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# clouds: AWS
|
|
2
|
+
# groomers: Chef
|
|
3
|
+
---
|
|
4
|
+
appname: smoketest
|
|
5
|
+
vpcs:
|
|
6
|
+
- name: svrtest
|
|
7
|
+
roles:
|
|
8
|
+
- name: handrolled
|
|
9
|
+
scrub_mu_isms: true
|
|
10
|
+
can_assume:
|
|
11
|
+
- entity_id: ec2.amazonaws.com
|
|
12
|
+
entity_type: service
|
|
13
|
+
import:
|
|
14
|
+
- arn:aws:iam::aws:policy/AmazonRDSFullAccess
|
|
15
|
+
servers:
|
|
16
|
+
- name: iamtest1
|
|
17
|
+
size: t3.medium
|
|
18
|
+
iam_role: handrolled
|
|
19
|
+
platform: centos6
|
|
20
|
+
generate_iam_role: false
|
|
21
|
+
vpc:
|
|
22
|
+
name: svrtest
|
|
23
|
+
server_pools:
|
|
24
|
+
- name: iamtest2
|
|
25
|
+
scrub_mu_isms: true
|
|
26
|
+
min_size: 1
|
|
27
|
+
max_size: 1
|
|
28
|
+
wait_for_nodes: 1
|
|
29
|
+
platform: centos6
|
|
30
|
+
vpc:
|
|
31
|
+
name: svrtest
|
|
32
|
+
basis:
|
|
33
|
+
launch-config:
|
|
34
|
+
name: iamtest2
|
|
35
|
+
size: t3.medium
|
|
36
|
+
iam_role: handrolled
|
|
37
|
+
generate_iam_role: false
|
data/modules/tests/k8s.yaml
CHANGED
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: 3.
|
|
4
|
+
version: 3.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- John Stange
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date:
|
|
14
|
+
date: 2021-01-18 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: addressable
|
|
@@ -47,28 +47,28 @@ dependencies:
|
|
|
47
47
|
requirements:
|
|
48
48
|
- - "~>"
|
|
49
49
|
- !ruby/object:Gem::Version
|
|
50
|
-
version: '0.
|
|
50
|
+
version: '0.65'
|
|
51
51
|
type: :runtime
|
|
52
52
|
prerelease: false
|
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
54
54
|
requirements:
|
|
55
55
|
- - "~>"
|
|
56
56
|
- !ruby/object:Gem::Version
|
|
57
|
-
version: '0.
|
|
57
|
+
version: '0.65'
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: bundler
|
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
|
61
61
|
requirements:
|
|
62
62
|
- - "~>"
|
|
63
63
|
- !ruby/object:Gem::Version
|
|
64
|
-
version:
|
|
64
|
+
version: 2.1.4
|
|
65
65
|
type: :runtime
|
|
66
66
|
prerelease: false
|
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
68
68
|
requirements:
|
|
69
69
|
- - "~>"
|
|
70
70
|
- !ruby/object:Gem::Version
|
|
71
|
-
version:
|
|
71
|
+
version: 2.1.4
|
|
72
72
|
- !ruby/object:Gem::Dependency
|
|
73
73
|
name: chronic_duration
|
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -131,14 +131,14 @@ dependencies:
|
|
|
131
131
|
requirements:
|
|
132
132
|
- - "~>"
|
|
133
133
|
- !ruby/object:Gem::Version
|
|
134
|
-
version: 0.
|
|
134
|
+
version: 0.50.0
|
|
135
135
|
type: :runtime
|
|
136
136
|
prerelease: false
|
|
137
137
|
version_requirements: !ruby/object:Gem::Requirement
|
|
138
138
|
requirements:
|
|
139
139
|
- - "~>"
|
|
140
140
|
- !ruby/object:Gem::Version
|
|
141
|
-
version: 0.
|
|
141
|
+
version: 0.50.0
|
|
142
142
|
- !ruby/object:Gem::Dependency
|
|
143
143
|
name: googleauth
|
|
144
144
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -448,6 +448,7 @@ executables:
|
|
|
448
448
|
- mu-gen-docs
|
|
449
449
|
- mu-tunnel-nagios
|
|
450
450
|
- mu-ssh
|
|
451
|
+
- mu-refresh-ssl
|
|
451
452
|
- mu-gen-env
|
|
452
453
|
- mu-configure
|
|
453
454
|
- mu-momma-cat
|
|
@@ -524,6 +525,7 @@ files:
|
|
|
524
525
|
- bin/mu-load-config.rb
|
|
525
526
|
- bin/mu-momma-cat
|
|
526
527
|
- bin/mu-node-manage
|
|
528
|
+
- bin/mu-refresh-ssl
|
|
527
529
|
- bin/mu-run-tests
|
|
528
530
|
- bin/mu-self-update
|
|
529
531
|
- bin/mu-ssh
|
|
@@ -663,8 +665,10 @@ files:
|
|
|
663
665
|
- cookbooks/mu-master/templates/default/389-directory-setup.inf.erb
|
|
664
666
|
- cookbooks/mu-master/templates/default/chef-server.rb.erb
|
|
665
667
|
- cookbooks/mu-master/templates/default/dhclient-eth0.conf.erb
|
|
668
|
+
- cookbooks/mu-master/templates/default/mods/rewrite.conf.erb
|
|
666
669
|
- cookbooks/mu-master/templates/default/mu-momma-cat.erb
|
|
667
670
|
- cookbooks/mu-master/templates/default/mu.rc.erb
|
|
671
|
+
- cookbooks/mu-master/templates/default/nagios.conf.erb
|
|
668
672
|
- cookbooks/mu-master/templates/default/openssl.cnf.erb
|
|
669
673
|
- cookbooks/mu-master/templates/default/sssd.conf.erb
|
|
670
674
|
- cookbooks/mu-master/templates/default/web_app.conf.erb
|
|
@@ -736,6 +740,7 @@ files:
|
|
|
736
740
|
- cookbooks/mu-tools/attributes/default.rb
|
|
737
741
|
- cookbooks/mu-tools/attributes/ebs_rolling_snapshots.rb
|
|
738
742
|
- cookbooks/mu-tools/files/amazon/etc/freshclam.conf
|
|
743
|
+
- cookbooks/mu-tools/files/centos-6/CentOS-Base.repo
|
|
739
744
|
- cookbooks/mu-tools/files/centos-6/README_MU
|
|
740
745
|
- cookbooks/mu-tools/files/centos-6/etc/audit/stig.rules
|
|
741
746
|
- cookbooks/mu-tools/files/centos-6/etc/bashrc
|
|
@@ -908,15 +913,20 @@ files:
|
|
|
908
913
|
- environments/dev.json
|
|
909
914
|
- environments/development.json
|
|
910
915
|
- environments/prod.json
|
|
916
|
+
- extras/Gemfile.lock.bootstrap
|
|
911
917
|
- extras/README.md
|
|
912
918
|
- extras/admin-role-binding.yaml
|
|
913
919
|
- extras/admin-user.yaml
|
|
914
920
|
- extras/alpha.png
|
|
915
921
|
- extras/aws-auth-cm.yaml.erb
|
|
916
922
|
- extras/beta.png
|
|
923
|
+
- extras/bucketstubs/error.html
|
|
924
|
+
- extras/bucketstubs/index.html
|
|
917
925
|
- extras/clean-stock-amis
|
|
918
926
|
- extras/generate-stock-images
|
|
919
927
|
- extras/git-fix-permissions-hook
|
|
928
|
+
- extras/git_rpm/build.sh
|
|
929
|
+
- extras/git_rpm/mugit.spec
|
|
920
930
|
- extras/gitlab-eks-helper.sh.erb
|
|
921
931
|
- extras/image-generators/AWS/centos6.yaml
|
|
922
932
|
- extras/image-generators/AWS/centos7-govcloud.yaml
|
|
@@ -928,14 +938,19 @@ files:
|
|
|
928
938
|
- extras/image-generators/Google/centos6.yaml
|
|
929
939
|
- extras/image-generators/Google/centos7.yaml
|
|
930
940
|
- extras/image-generators/README.md
|
|
941
|
+
- extras/image-generators/VMWare/centos8.yaml
|
|
931
942
|
- extras/lambda_waf_domain_blacklist.py
|
|
932
943
|
- extras/list-stock-amis
|
|
944
|
+
- extras/openssl_rpm/build.sh
|
|
945
|
+
- extras/openssl_rpm/mussl.spec
|
|
933
946
|
- extras/platform_berksfile_base
|
|
934
947
|
- extras/python_rpm/build.sh
|
|
935
948
|
- extras/python_rpm/muthon.spec
|
|
936
949
|
- extras/release.png
|
|
937
950
|
- extras/ruby_rpm/build.sh
|
|
938
951
|
- extras/ruby_rpm/muby.spec
|
|
952
|
+
- extras/sqlite_rpm/build.sh
|
|
953
|
+
- extras/sqlite_rpm/muqlite.spec
|
|
939
954
|
- extras/vault_tools/README.md
|
|
940
955
|
- extras/vault_tools/export_vaults.sh
|
|
941
956
|
- extras/vault_tools/recreate_vaults.sh
|
|
@@ -1115,6 +1130,7 @@ files:
|
|
|
1115
1130
|
- modules/tests/auto_scaling.inc
|
|
1116
1131
|
- modules/tests/aws-iam.yaml
|
|
1117
1132
|
- modules/tests/aws-jobs-functions.yaml
|
|
1133
|
+
- modules/tests/aws-servers-with-handrolled-iam.yaml
|
|
1118
1134
|
- modules/tests/aws-sgs.yaml
|
|
1119
1135
|
- modules/tests/bucket.yml
|
|
1120
1136
|
- modules/tests/centos6.yaml
|