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.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/Berksfile +16 -54
  3. data/Berksfile.lock +14 -62
  4. data/bin/mu-aws-setup +131 -108
  5. data/bin/mu-configure +311 -74
  6. data/bin/mu-gcp-setup +84 -62
  7. data/bin/mu-load-config.rb +46 -2
  8. data/bin/mu-self-update +11 -9
  9. data/bin/mu-upload-chef-artifacts +4 -4
  10. data/{mu.gemspec → cloud-mu.gemspec} +2 -2
  11. data/cookbooks/awscli/Berksfile +8 -0
  12. data/cookbooks/mu-activedirectory/Berksfile +11 -0
  13. data/cookbooks/mu-firewall/Berksfile +9 -0
  14. data/cookbooks/mu-firewall/metadata.rb +1 -1
  15. data/cookbooks/mu-glusterfs/Berksfile +10 -0
  16. data/cookbooks/mu-jenkins/Berksfile +14 -0
  17. data/cookbooks/mu-master/Berksfile +23 -0
  18. data/cookbooks/mu-master/attributes/default.rb +1 -1
  19. data/cookbooks/mu-master/metadata.rb +2 -2
  20. data/cookbooks/mu-master/recipes/default.rb +1 -1
  21. data/cookbooks/mu-master/recipes/init.rb +7 -3
  22. data/cookbooks/mu-master/recipes/ssl-certs.rb +1 -0
  23. data/cookbooks/mu-mongo/Berksfile +10 -0
  24. data/cookbooks/mu-openvpn/Berksfile +11 -0
  25. data/cookbooks/mu-php54/Berksfile +13 -0
  26. data/cookbooks/mu-splunk/Berksfile +10 -0
  27. data/cookbooks/mu-tools/Berksfile +21 -0
  28. data/cookbooks/mu-tools/files/default/Mu_CA.pem +15 -15
  29. data/cookbooks/mu-utility/Berksfile +9 -0
  30. data/cookbooks/mu-utility/metadata.rb +2 -1
  31. data/cookbooks/nagios/Berksfile +7 -4
  32. data/cookbooks/s3fs/Berksfile +9 -0
  33. data/environments/dev.json +6 -6
  34. data/environments/prod.json +6 -6
  35. data/modules/mu.rb +20 -42
  36. data/modules/mu/cleanup.rb +102 -100
  37. data/modules/mu/cloud.rb +90 -28
  38. data/modules/mu/clouds/aws.rb +449 -218
  39. data/modules/mu/clouds/aws/alarm.rb +29 -17
  40. data/modules/mu/clouds/aws/cache_cluster.rb +78 -64
  41. data/modules/mu/clouds/aws/collection.rb +25 -18
  42. data/modules/mu/clouds/aws/container_cluster.rb +73 -66
  43. data/modules/mu/clouds/aws/database.rb +124 -116
  44. data/modules/mu/clouds/aws/dnszone.rb +27 -20
  45. data/modules/mu/clouds/aws/firewall_rule.rb +30 -22
  46. data/modules/mu/clouds/aws/folder.rb +18 -3
  47. data/modules/mu/clouds/aws/function.rb +77 -23
  48. data/modules/mu/clouds/aws/group.rb +19 -12
  49. data/modules/mu/clouds/aws/habitat.rb +153 -0
  50. data/modules/mu/clouds/aws/loadbalancer.rb +59 -52
  51. data/modules/mu/clouds/aws/log.rb +30 -23
  52. data/modules/mu/clouds/aws/msg_queue.rb +29 -20
  53. data/modules/mu/clouds/aws/notifier.rb +222 -0
  54. data/modules/mu/clouds/aws/role.rb +178 -90
  55. data/modules/mu/clouds/aws/search_domain.rb +40 -24
  56. data/modules/mu/clouds/aws/server.rb +169 -137
  57. data/modules/mu/clouds/aws/server_pool.rb +60 -83
  58. data/modules/mu/clouds/aws/storage_pool.rb +59 -31
  59. data/modules/mu/clouds/aws/user.rb +36 -27
  60. data/modules/mu/clouds/aws/userdata/linux.erb +101 -93
  61. data/modules/mu/clouds/aws/vpc.rb +250 -189
  62. data/modules/mu/clouds/azure.rb +132 -0
  63. data/modules/mu/clouds/cloudformation.rb +65 -1
  64. data/modules/mu/clouds/cloudformation/alarm.rb +8 -0
  65. data/modules/mu/clouds/cloudformation/cache_cluster.rb +7 -0
  66. data/modules/mu/clouds/cloudformation/collection.rb +7 -0
  67. data/modules/mu/clouds/cloudformation/database.rb +7 -0
  68. data/modules/mu/clouds/cloudformation/dnszone.rb +7 -0
  69. data/modules/mu/clouds/cloudformation/firewall_rule.rb +9 -2
  70. data/modules/mu/clouds/cloudformation/loadbalancer.rb +7 -0
  71. data/modules/mu/clouds/cloudformation/log.rb +7 -0
  72. data/modules/mu/clouds/cloudformation/server.rb +7 -0
  73. data/modules/mu/clouds/cloudformation/server_pool.rb +7 -0
  74. data/modules/mu/clouds/cloudformation/vpc.rb +7 -0
  75. data/modules/mu/clouds/google.rb +214 -110
  76. data/modules/mu/clouds/google/container_cluster.rb +42 -24
  77. data/modules/mu/clouds/google/database.rb +15 -6
  78. data/modules/mu/clouds/google/firewall_rule.rb +17 -25
  79. data/modules/mu/clouds/google/group.rb +13 -5
  80. data/modules/mu/clouds/google/habitat.rb +105 -0
  81. data/modules/mu/clouds/google/loadbalancer.rb +28 -20
  82. data/modules/mu/clouds/google/server.rb +93 -354
  83. data/modules/mu/clouds/google/server_pool.rb +18 -10
  84. data/modules/mu/clouds/google/user.rb +22 -14
  85. data/modules/mu/clouds/google/vpc.rb +97 -69
  86. data/modules/mu/config.rb +133 -38
  87. data/modules/mu/config/alarm.rb +25 -0
  88. data/modules/mu/config/cache_cluster.rb +5 -3
  89. data/modules/mu/config/cache_cluster.yml +23 -0
  90. data/modules/mu/config/database.rb +25 -16
  91. data/modules/mu/config/database.yml +3 -3
  92. data/modules/mu/config/function.rb +1 -2
  93. data/modules/mu/config/{project.rb → habitat.rb} +10 -10
  94. data/modules/mu/config/notifier.rb +85 -0
  95. data/modules/mu/config/notifier.yml +9 -0
  96. data/modules/mu/config/role.rb +1 -1
  97. data/modules/mu/config/search_domain.yml +2 -2
  98. data/modules/mu/config/server.rb +13 -1
  99. data/modules/mu/config/server.yml +3 -3
  100. data/modules/mu/config/server_pool.rb +3 -1
  101. data/modules/mu/config/storage_pool.rb +3 -1
  102. data/modules/mu/config/storage_pool.yml +19 -0
  103. data/modules/mu/config/vpc.rb +70 -8
  104. data/modules/mu/groomers/chef.rb +2 -3
  105. data/modules/mu/kittens.rb +500 -122
  106. data/modules/mu/master.rb +5 -5
  107. data/modules/mu/mommacat.rb +151 -91
  108. data/modules/tests/super_complex_bok.yml +12 -0
  109. data/modules/tests/super_simple_bok.yml +12 -0
  110. data/spec/mu/clouds/azure_spec.rb +82 -0
  111. data/spec/spec_helper.rb +105 -0
  112. metadata +26 -5
  113. data/modules/mu/clouds/aws/notification.rb +0 -139
  114. data/modules/mu/config/notification.rb +0 -44
@@ -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 = $MU_CFG['google']['log_bucket_name']
130
+ $bucketname = MU::Cloud::Google.adminBucketName
114
131
 
115
132
  if $opts[:logs]
116
- exists = false
117
-
118
- MU.log "Configuring log and secret Google Cloud Storage bucket '#{$bucketname}'"
119
-
120
- bucket = nil
121
- begin
122
- bucket = MU::Cloud::Google.storage.get_bucket($bucketname)
123
- rescue ::Google::Apis::ClientError => e
124
- if e.message.match(/notFound:/)
125
- MU.log "Creating #{$bucketname} bucket"
126
- bucketobj = MU::Cloud::Google.storage(:Bucket).new(
127
- name: $bucketname,
128
- location: "US", # XXX why is this needed?
129
- versioning: MU::Cloud::Google.storage(:Bucket)::Versioning.new(
130
- enabled: true
131
- ),
132
- lifecycle: MU::Cloud::Google.storage(:Bucket)::Lifecycle.new(
133
- rule: [ MU::Cloud::Google.storage(:Bucket)::Lifecycle::Rule.new(
134
- action: MU::Cloud::Google.storage(:Bucket)::Lifecycle::Rule::Action.new(
135
- type: "SetStorageClass",
136
- storage_class: "DURABLE_REDUCED_AVAILABILITY"
137
- ),
138
- condition: MU::Cloud::Google.storage(:Bucket)::Lifecycle::Rule::Condition.new(
139
- age: 180
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
- bucket = MU::Cloud::Google.storage.insert_bucket(
145
- MU::Cloud::Google.defaultProject,
146
- bucketobj
147
- )
148
- else
149
- raise MuError, e.inspect
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
- ebs_key = nil
154
-
155
- begin
156
- ebs_key = MU::Cloud::Google.storage.get_object($bucketname, "log_vol_ebs_key")
157
- rescue ::Google::Apis::ClientError => e
158
- if e.message.match(/notFound:/)
159
- # XXX this may not be useful outside of AWS
160
- MU.log "Creating new key for encrypted log volume"
161
- key = SecureRandom.random_bytes(32)
162
- f = Tempfile.new("logvolkey") # XXX this is insecure and stupid
163
- f.write key
164
- f.close
165
- objectobj = MU::Cloud::Google.storage(:Object).new(
166
- bucket: $bucketname,
167
- name: "log_vol_ebs_key"
168
- )
169
- ebs_key = MU::Cloud::Google.storage.insert_object(
170
- $bucketname,
171
- objectobj,
172
- upload_source: f.path
173
- )
174
- f.unlink
175
- else
176
- raise MuError, e.inspect
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
- end
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]
@@ -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
- File.realpath(File.expand_path(File.dirname(__FILE__)+"/../../etc"))
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
@@ -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
- $MU_INSTALLDIR/lib/bin/mu-gen-env > $HOMEDIR/.murc
49
- source $HOMEDIR/.murc
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 = '1.9.0-beta'
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,8 @@
1
+ source 'https://supermarket.chef.io'
2
+ source chef_repo: ".."
3
+
4
+ metadata
5
+
6
+ # Mu Cookbooks
7
+
8
+ # Supermarket Cookbooks
@@ -0,0 +1,11 @@
1
+ source 'https://supermarket.chef.io'
2
+ source chef_repo: ".."
3
+
4
+ metadata
5
+
6
+ # Mu Cookbooks
7
+
8
+ # Supermarket Cookbooks
9
+ cookbook "windows", '~> 5.1.1'
10
+ cookbook "chef-vault", '~> 3.1.1'
11
+ cookbook "yum-epel", '~> 3.2.0'
@@ -0,0 +1,9 @@
1
+ source 'https://supermarket.chef.io'
2
+ source chef_repo: ".."
3
+
4
+ metadata
5
+
6
+ # Mu Cookbooks
7
+
8
+ # Supermarket Cookbooks
9
+ cookbook 'firewall', '~> 2.6.5'
@@ -13,4 +13,4 @@ version '0.1.0'
13
13
  supports os
14
14
  end
15
15
 
16
- depends 'firewall', '~> 2.6.5'
16
+ depends 'firewall', '~> 2.7.0'
@@ -0,0 +1,10 @@
1
+ source 'https://supermarket.chef.io'
2
+ source chef_repo: ".."
3
+
4
+ metadata
5
+
6
+ # Mu Cookbooks
7
+ cookbook 'mu-firewall'
8
+
9
+ # Supermarket Cookbooks
10
+ cookbook 'yum', '~> 5.1.0'
@@ -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.0'
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', '~> 3.0.1'
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"