cloud-mu 1.9.0.pre.beta → 2.0.0.pre.alpha
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/Berksfile +16 -54
- data/Berksfile.lock +14 -62
- data/bin/mu-aws-setup +131 -108
- data/bin/mu-configure +311 -74
- data/bin/mu-gcp-setup +84 -62
- data/bin/mu-load-config.rb +46 -2
- data/bin/mu-self-update +11 -9
- data/bin/mu-upload-chef-artifacts +4 -4
- data/{mu.gemspec → cloud-mu.gemspec} +2 -2
- data/cookbooks/awscli/Berksfile +8 -0
- data/cookbooks/mu-activedirectory/Berksfile +11 -0
- data/cookbooks/mu-firewall/Berksfile +9 -0
- data/cookbooks/mu-firewall/metadata.rb +1 -1
- data/cookbooks/mu-glusterfs/Berksfile +10 -0
- data/cookbooks/mu-jenkins/Berksfile +14 -0
- data/cookbooks/mu-master/Berksfile +23 -0
- data/cookbooks/mu-master/attributes/default.rb +1 -1
- data/cookbooks/mu-master/metadata.rb +2 -2
- data/cookbooks/mu-master/recipes/default.rb +1 -1
- data/cookbooks/mu-master/recipes/init.rb +7 -3
- data/cookbooks/mu-master/recipes/ssl-certs.rb +1 -0
- data/cookbooks/mu-mongo/Berksfile +10 -0
- data/cookbooks/mu-openvpn/Berksfile +11 -0
- data/cookbooks/mu-php54/Berksfile +13 -0
- data/cookbooks/mu-splunk/Berksfile +10 -0
- data/cookbooks/mu-tools/Berksfile +21 -0
- data/cookbooks/mu-tools/files/default/Mu_CA.pem +15 -15
- data/cookbooks/mu-utility/Berksfile +9 -0
- data/cookbooks/mu-utility/metadata.rb +2 -1
- data/cookbooks/nagios/Berksfile +7 -4
- data/cookbooks/s3fs/Berksfile +9 -0
- data/environments/dev.json +6 -6
- data/environments/prod.json +6 -6
- data/modules/mu.rb +20 -42
- data/modules/mu/cleanup.rb +102 -100
- data/modules/mu/cloud.rb +90 -28
- data/modules/mu/clouds/aws.rb +449 -218
- data/modules/mu/clouds/aws/alarm.rb +29 -17
- data/modules/mu/clouds/aws/cache_cluster.rb +78 -64
- data/modules/mu/clouds/aws/collection.rb +25 -18
- data/modules/mu/clouds/aws/container_cluster.rb +73 -66
- data/modules/mu/clouds/aws/database.rb +124 -116
- data/modules/mu/clouds/aws/dnszone.rb +27 -20
- data/modules/mu/clouds/aws/firewall_rule.rb +30 -22
- data/modules/mu/clouds/aws/folder.rb +18 -3
- data/modules/mu/clouds/aws/function.rb +77 -23
- data/modules/mu/clouds/aws/group.rb +19 -12
- data/modules/mu/clouds/aws/habitat.rb +153 -0
- data/modules/mu/clouds/aws/loadbalancer.rb +59 -52
- data/modules/mu/clouds/aws/log.rb +30 -23
- data/modules/mu/clouds/aws/msg_queue.rb +29 -20
- data/modules/mu/clouds/aws/notifier.rb +222 -0
- data/modules/mu/clouds/aws/role.rb +178 -90
- data/modules/mu/clouds/aws/search_domain.rb +40 -24
- data/modules/mu/clouds/aws/server.rb +169 -137
- data/modules/mu/clouds/aws/server_pool.rb +60 -83
- data/modules/mu/clouds/aws/storage_pool.rb +59 -31
- data/modules/mu/clouds/aws/user.rb +36 -27
- data/modules/mu/clouds/aws/userdata/linux.erb +101 -93
- data/modules/mu/clouds/aws/vpc.rb +250 -189
- data/modules/mu/clouds/azure.rb +132 -0
- data/modules/mu/clouds/cloudformation.rb +65 -1
- data/modules/mu/clouds/cloudformation/alarm.rb +8 -0
- data/modules/mu/clouds/cloudformation/cache_cluster.rb +7 -0
- data/modules/mu/clouds/cloudformation/collection.rb +7 -0
- data/modules/mu/clouds/cloudformation/database.rb +7 -0
- data/modules/mu/clouds/cloudformation/dnszone.rb +7 -0
- data/modules/mu/clouds/cloudformation/firewall_rule.rb +9 -2
- data/modules/mu/clouds/cloudformation/loadbalancer.rb +7 -0
- data/modules/mu/clouds/cloudformation/log.rb +7 -0
- data/modules/mu/clouds/cloudformation/server.rb +7 -0
- data/modules/mu/clouds/cloudformation/server_pool.rb +7 -0
- data/modules/mu/clouds/cloudformation/vpc.rb +7 -0
- data/modules/mu/clouds/google.rb +214 -110
- data/modules/mu/clouds/google/container_cluster.rb +42 -24
- data/modules/mu/clouds/google/database.rb +15 -6
- data/modules/mu/clouds/google/firewall_rule.rb +17 -25
- data/modules/mu/clouds/google/group.rb +13 -5
- data/modules/mu/clouds/google/habitat.rb +105 -0
- data/modules/mu/clouds/google/loadbalancer.rb +28 -20
- data/modules/mu/clouds/google/server.rb +93 -354
- data/modules/mu/clouds/google/server_pool.rb +18 -10
- data/modules/mu/clouds/google/user.rb +22 -14
- data/modules/mu/clouds/google/vpc.rb +97 -69
- data/modules/mu/config.rb +133 -38
- data/modules/mu/config/alarm.rb +25 -0
- data/modules/mu/config/cache_cluster.rb +5 -3
- data/modules/mu/config/cache_cluster.yml +23 -0
- data/modules/mu/config/database.rb +25 -16
- data/modules/mu/config/database.yml +3 -3
- data/modules/mu/config/function.rb +1 -2
- data/modules/mu/config/{project.rb → habitat.rb} +10 -10
- data/modules/mu/config/notifier.rb +85 -0
- data/modules/mu/config/notifier.yml +9 -0
- data/modules/mu/config/role.rb +1 -1
- data/modules/mu/config/search_domain.yml +2 -2
- data/modules/mu/config/server.rb +13 -1
- data/modules/mu/config/server.yml +3 -3
- data/modules/mu/config/server_pool.rb +3 -1
- data/modules/mu/config/storage_pool.rb +3 -1
- data/modules/mu/config/storage_pool.yml +19 -0
- data/modules/mu/config/vpc.rb +70 -8
- data/modules/mu/groomers/chef.rb +2 -3
- data/modules/mu/kittens.rb +500 -122
- data/modules/mu/master.rb +5 -5
- data/modules/mu/mommacat.rb +151 -91
- data/modules/tests/super_complex_bok.yml +12 -0
- data/modules/tests/super_simple_bok.yml +12 -0
- data/spec/mu/clouds/azure_spec.rb +82 -0
- data/spec/spec_helper.rb +105 -0
- metadata +26 -5
- data/modules/mu/clouds/aws/notification.rb +0 -139
- data/modules/mu/config/notification.rb +0 -44
data/bin/mu-gcp-setup
CHANGED
@@ -45,7 +45,24 @@ Usage:
|
|
45
45
|
opt :uploadlogs, "Push today's log files to the Cloud Storage bucket created by the -l option.", :require => false, :default => false, :type => :boolean
|
46
46
|
end
|
47
47
|
|
48
|
-
if MU::Cloud::Google.hosted
|
48
|
+
if MU::Cloud::Google.hosted? and !$MU_CFG['google']
|
49
|
+
new_cfg = $MU_CFG.dup
|
50
|
+
cfg_blob = MU::Cloud::Google.hosted_config
|
51
|
+
if cfg_blob
|
52
|
+
cfg_blob['log_bucket_name'] ||= $MU_CFG['hostname']
|
53
|
+
new_cfg["google"] = { "default" => cfg_blob }
|
54
|
+
MU.log "Adding auto-detected Google stanza to #{cfgPath}", MU::NOTICE
|
55
|
+
if new_cfg != $MU_CFG or !cfgExists?
|
56
|
+
MU.log "Generating #{cfgPath}"
|
57
|
+
saveMuConfig(new_cfg)
|
58
|
+
$MU_CFG = new_cfg
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
my_instance_id = MU::Cloud::AWS.getAWSMetaData("instance-id")
|
64
|
+
|
65
|
+
if MU::Cloud::Google.hosted?
|
49
66
|
instance = MU.myCloudDescriptor
|
50
67
|
admin_sg_name = "mu-master-"+MU.myInstanceId+"-ingress-allow"
|
51
68
|
if !instance.tags.items or !instance.tags.items.include?(admin_sg_name)
|
@@ -110,74 +127,79 @@ if $opts[:sg]
|
|
110
127
|
|
111
128
|
end
|
112
129
|
|
113
|
-
$bucketname =
|
130
|
+
$bucketname = MU::Cloud::Google.adminBucketName
|
114
131
|
|
115
132
|
if $opts[:logs]
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
bucket =
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
133
|
+
MU::Cloud::Google.listCredentials.each { |credset|
|
134
|
+
bucketname = MU::Cloud::Google.adminBucketName(credset)
|
135
|
+
exists = false
|
136
|
+
|
137
|
+
MU.log "Configuring log and secret Google Cloud Storage bucket '#{bucketname}'"
|
138
|
+
|
139
|
+
bucket = nil
|
140
|
+
begin
|
141
|
+
bucket = MU::Cloud::Google.storage(credentials: credset).get_bucket(bucketname)
|
142
|
+
rescue ::Google::Apis::ClientError => e
|
143
|
+
if e.message.match(/notFound:/)
|
144
|
+
MU.log "Creating #{bucketname} bucket"
|
145
|
+
bucketobj = MU::Cloud::Google.storage(:Bucket).new(
|
146
|
+
name: bucketname,
|
147
|
+
location: "US", # XXX why is this needed?
|
148
|
+
versioning: MU::Cloud::Google.storage(:Bucket)::Versioning.new(
|
149
|
+
enabled: true
|
150
|
+
),
|
151
|
+
lifecycle: MU::Cloud::Google.storage(:Bucket)::Lifecycle.new(
|
152
|
+
rule: [ MU::Cloud::Google.storage(:Bucket)::Lifecycle::Rule.new(
|
153
|
+
action: MU::Cloud::Google.storage(:Bucket)::Lifecycle::Rule::Action.new(
|
154
|
+
type: "SetStorageClass",
|
155
|
+
storage_class: "DURABLE_REDUCED_AVAILABILITY"
|
156
|
+
),
|
157
|
+
condition: MU::Cloud::Google.storage(:Bucket)::Lifecycle::Rule::Condition.new(
|
158
|
+
age: 180
|
159
|
+
)
|
160
|
+
)]
|
161
|
+
)
|
142
162
|
)
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
163
|
+
bucket = MU::Cloud::Google.storage(credentials: credset).insert_bucket(
|
164
|
+
MU::Cloud::Google.defaultProject(credset),
|
165
|
+
bucketobj
|
166
|
+
)
|
167
|
+
else
|
168
|
+
pp e.backtrace
|
169
|
+
raise MU::MuError, e.inspect
|
170
|
+
end
|
150
171
|
end
|
151
|
-
end
|
152
172
|
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
173
|
+
ebs_key = nil
|
174
|
+
|
175
|
+
begin
|
176
|
+
ebs_key = MU::Cloud::Google.storage(credentials: credset).get_object(bucketname, "log_vol_ebs_key")
|
177
|
+
rescue ::Google::Apis::ClientError => e
|
178
|
+
if e.message.match(/notFound:/)
|
179
|
+
# XXX this may not be useful outside of AWS
|
180
|
+
MU.log "Creating new key for encrypted log volume"
|
181
|
+
key = SecureRandom.random_bytes(32)
|
182
|
+
f = Tempfile.new("logvolkey") # XXX this is insecure and stupid
|
183
|
+
f.write key
|
184
|
+
f.close
|
185
|
+
objectobj = MU::Cloud::Google.storage(:Object).new(
|
186
|
+
bucket: bucketname,
|
187
|
+
name: "log_vol_ebs_key"
|
188
|
+
)
|
189
|
+
ebs_key = MU::Cloud::Google.storage(credentials: credset).insert_object(
|
190
|
+
bucketname,
|
191
|
+
objectobj,
|
192
|
+
upload_source: f.path
|
193
|
+
)
|
194
|
+
f.unlink
|
195
|
+
else
|
196
|
+
raise MuError, e.inspect
|
197
|
+
end
|
177
198
|
end
|
178
|
-
|
199
|
+
# XXX stop doing this per-bucket, chowderhead
|
200
|
+
MU::Master.disk("/dev/xvdl", "/Mu_Logs", 50, "log_vol_ebs_key", "ram7")
|
201
|
+
}
|
179
202
|
|
180
|
-
MU::Master.disk("/dev/xvdl", "/Mu_Logs", 50, "log_vol_ebs_key", "ram7")
|
181
203
|
end
|
182
204
|
|
183
205
|
if $opts[:dns]
|
data/bin/mu-load-config.rb
CHANGED
@@ -18,6 +18,46 @@ require 'json'
|
|
18
18
|
require 'erubis'
|
19
19
|
require 'socket'
|
20
20
|
|
21
|
+
# Make sure things make sense in our various cloud subsections, which are more
|
22
|
+
# complicated than the rest. May alter the hash it's passed.
|
23
|
+
def validateClouds(cfg)
|
24
|
+
ok = true
|
25
|
+
|
26
|
+
['aws', 'google', 'azure'].each { |cloud|
|
27
|
+
if cfg[cloud]
|
28
|
+
found_default = false
|
29
|
+
# Muddle up old-style single-account cloud configs into an array of
|
30
|
+
# named accounts, which is what we're expecting to see nowadays.
|
31
|
+
if cfg[cloud] and cfg[cloud].values.any? { |h| !h.is_a?(Hash) }
|
32
|
+
puts "Converting single #{cloud} #{cfgPath} account entry to default alias"
|
33
|
+
cfg[cloud] = {
|
34
|
+
"default" => cfg[cloud]
|
35
|
+
}
|
36
|
+
cfg[cloud]["default"]["default"] = true
|
37
|
+
found_default = true
|
38
|
+
else
|
39
|
+
missing_alias = false
|
40
|
+
cfg[cloud].each_pair { |acctalias, acct|
|
41
|
+
if acct["default"]
|
42
|
+
if found_default
|
43
|
+
puts "Multiple accounts have 'default' set in #{cloud}"
|
44
|
+
ok = false
|
45
|
+
end
|
46
|
+
found_default = true
|
47
|
+
end
|
48
|
+
}
|
49
|
+
end
|
50
|
+
if !found_default
|
51
|
+
first = cfg[cloud].keys.first
|
52
|
+
puts "No default #{cloud} credentials specified in #{cfgPath}, arbitrarily designating '#{first}'"
|
53
|
+
cfg[cloud][first]["default"] = true
|
54
|
+
end
|
55
|
+
end
|
56
|
+
}
|
57
|
+
|
58
|
+
ok
|
59
|
+
end
|
60
|
+
|
21
61
|
# Locate and load the Mu Master's configuration, typically stored in
|
22
62
|
# /opt/mu/etc/mu.yaml. If ~/.mu.yaml exists, load that too and allow it to
|
23
63
|
# override values from the global config. Also puts Mu's /modules directory
|
@@ -94,7 +134,7 @@ def loadMuConfig(default_cfg_overrides = nil)
|
|
94
134
|
if !global_cfg.has_key?("installdir")
|
95
135
|
if ENV['MU_INSTALLDIR']
|
96
136
|
global_cfg["installdir"] = ENV['MU_INSTALLDIR']
|
97
|
-
elsif Gem.paths and Gem.paths.home
|
137
|
+
elsif Gem.paths and Gem.paths.home and !Dir.exists?("/opt/mu/lib")
|
98
138
|
global_cfg["installdir"] = File.realpath(File.expand_path(File.dirname(Gem.paths.home))+"/../../../")
|
99
139
|
else
|
100
140
|
global_cfg["installdir"] = "/opt/mu"
|
@@ -117,10 +157,13 @@ def loadMuConfig(default_cfg_overrides = nil)
|
|
117
157
|
end
|
118
158
|
end
|
119
159
|
|
160
|
+
exit 1 if !validateClouds(global_cfg)
|
161
|
+
|
120
162
|
$LOAD_PATH << "#{global_cfg["libdir"]}/modules"
|
121
163
|
return default_cfg.merge(global_cfg).freeze
|
122
164
|
end
|
123
165
|
|
166
|
+
# Shorthand for locating the path to mu.yaml
|
124
167
|
def cfgPath
|
125
168
|
home = Etc.getpwuid(Process.uid).dir
|
126
169
|
username = Etc.getpwuid(Process.uid).name
|
@@ -128,7 +171,7 @@ def cfgPath
|
|
128
171
|
if ENV.include?('MU_INSTALLDIR')
|
129
172
|
ENV['MU_INSTALLDIR']+"/etc/mu.yaml"
|
130
173
|
elsif Dir.exists?("/opt/mu")
|
131
|
-
|
174
|
+
"/opt/mu/etc/mu.yaml"
|
132
175
|
else
|
133
176
|
"#{home}/.mu.yaml"
|
134
177
|
end
|
@@ -146,6 +189,7 @@ end
|
|
146
189
|
# @param cfg [Hash]: The configuration to dump
|
147
190
|
# @param comment [Hash]: A configuration blob that will be appended as a commented block
|
148
191
|
def saveMuConfig(cfg, comment = nil)
|
192
|
+
exit 1 if !validateClouds(cfg)
|
149
193
|
puts "**** Saving master config to #{cfgPath} *****"
|
150
194
|
File.open(cfgPath, File::CREAT|File::TRUNC|File::RDWR, 0644){ |f|
|
151
195
|
f.puts cfg.to_yaml
|
data/bin/mu-self-update
CHANGED
@@ -168,15 +168,6 @@ elif [ "`diff -r $MU_LIBDIR/Berksfile.lock $MU_DATADIR/tmp/berks_changes.$$/Berk
|
|
168
168
|
set -- "-u" "$@"
|
169
169
|
fi
|
170
170
|
|
171
|
-
/bin/rm -rf $MU_DATADIR/tmp/cookbook_changes.$$
|
172
|
-
/bin/rm -rf $MU_DATADIR/tmp/berks_changes.$$
|
173
|
-
|
174
|
-
if [ "$rebuild_chef_artifacts" == "1" ];then
|
175
|
-
/bin/rm -rf /root/.berkshelf/cookbooks
|
176
|
-
$bindir/mu-upload-chef-artifacts -p
|
177
|
-
else
|
178
|
-
$bindir/mu-upload-chef-artifacts -r mu
|
179
|
-
fi
|
180
171
|
|
181
172
|
set +e
|
182
173
|
/sbin/service nagios stop
|
@@ -203,7 +194,18 @@ if [ "$chef_major" == "12" ];then
|
|
203
194
|
fi
|
204
195
|
|
205
196
|
/opt/chef/bin/chef-apply $MU_LIBDIR/cookbooks/mu-master/recipes/init.rb
|
197
|
+
|
198
|
+
/bin/rm -rf $MU_DATADIR/tmp/cookbook_changes.$$
|
199
|
+
/bin/rm -rf $MU_DATADIR/tmp/berks_changes.$$
|
200
|
+
|
201
|
+
if [ "$rebuild_chef_artifacts" == "1" ];then
|
202
|
+
/bin/rm -rf /root/.berkshelf/cookbooks
|
203
|
+
$bindir/mu-upload-chef-artifacts -p
|
204
|
+
else
|
205
|
+
$bindir/mu-upload-chef-artifacts -r mu
|
206
|
+
fi
|
206
207
|
$bindir/mu-configure -n
|
208
|
+
|
207
209
|
for dir in $MU_LIBDIR /opt/chef/embedded /opt/opscode/embedded /usr/local/ruby-current/;do
|
208
210
|
echo "${GREEN}Sanitizing permissions in ${BOLD}$dir${NORM}${GREEN}${NORM}"
|
209
211
|
for tree in `ls -1 $dir/`;do
|
@@ -44,10 +44,10 @@ real_datadir="$MU_DATADIR"
|
|
44
44
|
|
45
45
|
|
46
46
|
source $MU_INSTALLDIR/lib/install/deprecated-bash-library.sh
|
47
|
-
if [ -x $MU_INSTALLDIR/lib/bin/mu-gen-env ];then
|
48
|
-
|
49
|
-
|
50
|
-
fi
|
47
|
+
# if [ -x $MU_INSTALLDIR/lib/bin/mu-gen-env ];then
|
48
|
+
# $MU_INSTALLDIR/lib/bin/mu-gen-env > $HOMEDIR/.murc
|
49
|
+
# source $HOMEDIR/.murc
|
50
|
+
# fi
|
51
51
|
export MU_DATADIR="$real_datadir"
|
52
52
|
|
53
53
|
cd $MU_CHEF_CACHE
|
@@ -17,7 +17,7 @@ end
|
|
17
17
|
|
18
18
|
Gem::Specification.new do |s|
|
19
19
|
s.name = 'cloud-mu'
|
20
|
-
s.version = '
|
20
|
+
s.version = '2.0.0-alpha'
|
21
21
|
s.date = '2018-12-11'
|
22
22
|
s.require_paths = ['modules']
|
23
23
|
s.required_ruby_version = '>= 2.4'
|
@@ -34,7 +34,7 @@ EOF
|
|
34
34
|
s.authors = ["John Stange", "Robert Patt-Corner", "Ryan Bolyard", "Clara Bridges", "Zach Rowe"]
|
35
35
|
s.email = 'eGTLabs@eglobaltech.com'
|
36
36
|
s.files = build_file_list(whereami)
|
37
|
-
s.executables = Dir.entries(whereami+"/bin")
|
37
|
+
s.executables = Dir.entries(whereami+"/bin").reject { |f| File.directory?(f) }
|
38
38
|
s.homepage =
|
39
39
|
'https://github.com/cloudamatic/mu'
|
40
40
|
s.license = 'BSD-3-Clause-Attribution'
|
@@ -0,0 +1,14 @@
|
|
1
|
+
source 'https://supermarket.chef.io'
|
2
|
+
source chef_repo: ".."
|
3
|
+
|
4
|
+
metadata
|
5
|
+
|
6
|
+
# Mu Cookbooks
|
7
|
+
cookbook 'mu-master'
|
8
|
+
cookbook 'mu-utility'
|
9
|
+
cookbook 'mu-tools'
|
10
|
+
|
11
|
+
# Supermarket Cookbooks
|
12
|
+
cookbook 'java', '~> 2.2.0'
|
13
|
+
cookbook 'jenkins', '~> 6.2.0'
|
14
|
+
cookbook 'chef-vault', '~> 3.1.1'
|
@@ -0,0 +1,23 @@
|
|
1
|
+
source 'https://supermarket.chef.io'
|
2
|
+
source chef_repo: ".."
|
3
|
+
|
4
|
+
metadata
|
5
|
+
|
6
|
+
# Mu Cookbooks
|
7
|
+
cookbook 'nagios'
|
8
|
+
cookbook 'mu-utility'
|
9
|
+
cookbook 'mu-tools'
|
10
|
+
cookbook 'mu-firewall'
|
11
|
+
cookbook 'mu-activedirectory'
|
12
|
+
cookbook 's3fs'
|
13
|
+
|
14
|
+
# Supermarket Cookbooks
|
15
|
+
cookbook 'nrpe', '~> 2.0.3'
|
16
|
+
cookbook 'postfix', '~> 5.3.1'
|
17
|
+
cookbook 'bind', '~> 2.2.0'
|
18
|
+
cookbook 'bind9-ng', '~> 0.1.0'
|
19
|
+
cookbook 'vault-cluster', '~> 2.1.0'
|
20
|
+
cookbook 'consul-cluster', '~> 2.0.0'
|
21
|
+
cookbook 'hostsfile', '~> 3.0.1'
|
22
|
+
cookbook 'chef-vault', '~> 3.1.1'
|
23
|
+
cookbook 'apache2', '< 4.0'
|
@@ -77,7 +77,7 @@ default['nagios']['host_name_attribute'] = 'chef_node_name'
|
|
77
77
|
default['application_attributes']['logs']['volume_size_gb'] = 50
|
78
78
|
default['application_attributes']['logs']['mount_device'] = "/dev/xvdl"
|
79
79
|
default['application_attributes']['logs']['label'] = "#{node['hostname']} /Mu_Logs"
|
80
|
-
default['application_attributes']['logs']['secure_location'] = MU.adminBucketName
|
80
|
+
#default['application_attributes']['logs']['secure_location'] = MU.adminBucketName
|
81
81
|
default['application_attributes']['logs']['ebs_keyfile'] = "log_vol_ebs_key"
|
82
82
|
default['application_attributes']['logs']['mount_directory'] = "/Mu_Logs"
|
83
83
|
|
@@ -7,7 +7,7 @@ long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
|
7
7
|
source_url 'https://github.com/cloudamatic/mu'
|
8
8
|
issues_url 'https://github.com/cloudamatic/mu/issues'
|
9
9
|
chef_version '>= 12.1' if respond_to?(:chef_version)
|
10
|
-
version '0.9.
|
10
|
+
version '0.9.2'
|
11
11
|
|
12
12
|
%w( centos ).each do |os|
|
13
13
|
supports os
|
@@ -18,7 +18,7 @@ depends 'nrpe', '~> 2.0.3'
|
|
18
18
|
depends 'mu-utility'
|
19
19
|
depends 'mu-tools'
|
20
20
|
depends 'mu-activedirectory'
|
21
|
-
depends 's3fs'
|
21
|
+
depends 's3fs'
|
22
22
|
depends 'postfix', '~> 5.3.1'
|
23
23
|
depends 'bind', '~> 2.2.0'
|
24
24
|
depends 'bind9-ng', '~> 0.1.0'
|
@@ -27,7 +27,7 @@ include_recipe 'mu-master::firewall-holes'
|
|
27
27
|
include_recipe 'mu-master::ssl-certs'
|
28
28
|
include_recipe 'mu-master::vault'
|
29
29
|
include_recipe 'mu-tools::gcloud'
|
30
|
-
include_recipe 'mu-master::eks-kubectl'
|
30
|
+
#include_recipe 'mu-master::eks-kubectl'
|
31
31
|
|
32
32
|
master_ips = get_mu_master_ips
|
33
33
|
master_ips << "127.0.0.1"
|