fhcap-cli 0.4.8 → 0.4.9
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/CHANGELOG.md +7 -1
- data/fhcap-cli.gemspec +1 -1
- data/lib/cookbooks/provision/recipes/aws.rb +2 -0
- data/lib/extensions/chef/resource/aws_ebs_volume.rb +8 -0
- data/lib/extensions/chef/resource/aws_instance.rb +8 -0
- data/lib/fhcap/tasks/chef/cookbook/update_config.rb +0 -1
- data/lib/fhcap/tasks/knife/add.rb +3 -3
- data/lib/fhcap/version.rb +1 -1
- data/templates/chef/environment_core.json.erb +7 -36
- data/templates/chef/environment_mbaas.json.erb +6 -10
- data/templates/chef/environment_single.json.erb +1 -4
- data/templates/cluster/aws/core-small-9node.json.erb +1 -1
- data/templates/cluster/aws/farm-3node.json.erb +6 -0
- data/templates/cluster/aws/farm-single.json.erb +6 -0
- data/templates/cluster/aws/mbaas-3node.json.erb +0 -18
- data/templates/cluster/openstack/core-small-9node.json.erb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1685de7948d976df40d6c15e0870a51f12393fc2
|
4
|
+
data.tar.gz: 4a812cdd3b1e2865105e0ee69ffc55e74f82881b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f4ce224936b910162e7fcf0b2bd10f0f0d415a4fd35c523cebabdbfe860ccc74b9fc0d31c19290e088064e59926224be8cd0063df2c0658c5cdfafc6ee95fe0b
|
7
|
+
data.tar.gz: 7e0917eceb7b16367d7c71683f949c8bfd6c4e2398a5e8d7608b5e866507b5f12cf10c173442321eb40fc4e837c0e481159462a7bc29687253024309bf7bccc0
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
|
2
2
|
## Unreleased
|
3
3
|
|
4
|
+
## 0.4.9
|
5
|
+
|
6
|
+
* [RHMAP-9021] - Add support for longer AWS Instance and ELB Ids (Patched with upstream changes made in chef-provisioning-aws gem)
|
7
|
+
* Fix knife user import, incorrect attributes were being referenced causing the private key to appear empty.
|
8
|
+
* [RHMAP-5646] - Setting min RubyGems version to 2.6.3, fixes an issue when running commands inside the fhcap directory (undefined method `this' for #<Gem::Specification:0x3ff25ccfb780...)
|
9
|
+
|
4
10
|
## 0.4.8
|
5
11
|
|
6
12
|
* [RHMAP-7637] - Fix Chef::Config constant in global namespace
|
@@ -16,7 +22,7 @@
|
|
16
22
|
|
17
23
|
## 0.4.6
|
18
24
|
|
19
|
-
* [RHMAP-3031] - Add aws-tags (Name,
|
25
|
+
* [RHMAP-3031] - Add aws-tags (Name, Organisation, Environment and Role) to all instances
|
20
26
|
* [RHMAP-3815] - Add dry-run option to all chef_provisions tasks, sets why-run option on chef run (chef-provisioning)
|
21
27
|
* [RHMAP-4038] - Fix aws templates to set correct required security group protocols/ports for environment.
|
22
28
|
|
data/fhcap-cli.gemspec
CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
spec.homepage = "https://github.com/fheng/fhcap-cli"
|
14
14
|
spec.license = "MIT"
|
15
15
|
spec.required_ruby_version = '>= 2.0.0'
|
16
|
-
spec.required_rubygems_version = '>= 2.
|
16
|
+
spec.required_rubygems_version = '>= 2.6.3'
|
17
17
|
|
18
18
|
spec.files = `git ls-files -z`.split("\x0")
|
19
19
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
@@ -2,6 +2,8 @@ raise "Missing aws credentials" unless node['provider_credentials']['aws-access-
|
|
2
2
|
|
3
3
|
require 'chef/provisioning/aws_driver'
|
4
4
|
require 'extensions/chef/provisioning/aws_driver/driver.rb'
|
5
|
+
require 'extensions/chef/resource/aws_instance' # https://github.com/chef/chef-provisioning-aws/blob/master/CHANGELOG.md#v190-2016-04-14
|
6
|
+
require 'extensions/chef/resource/aws_ebs_volume' # https://github.com/chef/chef-provisioning-aws/blob/master/CHANGELOG.md#v1110-2016-08-11
|
5
7
|
|
6
8
|
cluster_config = cluster_config_for(node)
|
7
9
|
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require 'chef/provisioning/aws_driver/aws_resource_with_entry'
|
2
|
+
require 'chef/resource/aws_instance'
|
3
|
+
|
4
|
+
class Chef::Resource::AwsEbsVolume < Chef::Provisioning::AWSDriver::AWSResourceWithEntry
|
5
|
+
attribute :volume_id, kind_of: String, aws_id_attribute: true, lazy_default: proc {
|
6
|
+
name =~ /^vol-(?:[a-f0-9]{8}|[a-f0-9]{17})$/ ? name : nil
|
7
|
+
}
|
8
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require 'chef/provisioning/aws_driver/aws_resource_with_entry'
|
2
|
+
require 'chef/provisioning/aws_driver/aws_taggable'
|
3
|
+
|
4
|
+
class Chef::Resource::AwsInstance < Chef::Provisioning::AWSDriver::AWSResourceWithEntry
|
5
|
+
attribute :instance_id, kind_of: String, aws_id_attribute: true, lazy_default: proc {
|
6
|
+
name =~ /^i-(?:[a-f0-9]{8}|[a-f0-9]{17})$/ ? name : nil
|
7
|
+
}
|
8
|
+
end
|
@@ -13,7 +13,6 @@ module Fhcap
|
|
13
13
|
"millicore" => "millicore/src/main/resources/config/cluster-config.properties",
|
14
14
|
"fh-reaper" => "millicore/src/main/resources/config/reaper.properties",
|
15
15
|
"fh-supercore" => "fh-supercore/config/dev.json",
|
16
|
-
"fh-docs" => ["fh-docs/config/development.json", "fh-docs/config/config.json"],
|
17
16
|
"fh-doxy" => "fh-doxy/config/dev.json",
|
18
17
|
"fh-messaging" => "fh-messaging/fh-messaging/config/dev.json",
|
19
18
|
"fh-metrics" => "fh-messaging/fh-metrics/config/dev.json",
|
@@ -74,7 +74,7 @@ module Fhcap
|
|
74
74
|
:node_name => knife_config[:node_name],
|
75
75
|
:cookbook_path => cookbook_path
|
76
76
|
)
|
77
|
-
private_key = '-----BEGIN RSA PRIVATE KEY-----
|
77
|
+
@private_key = '-----BEGIN RSA PRIVATE KEY-----
|
78
78
|
MIIEpAIBAAKCAQEA0sOY9tHvVtLZ6xmVmH8d8LrRrNcWOXbrvvCrai+T3GtRvRSL
|
79
79
|
hksLrpOpD0L9EHM6NdThNF/eGA9Oq+UKAe6yXR0hwsKuxKXqQ8SEmlhZZ9GiuggD
|
80
80
|
B/zYD3ItB6SGpdkRe7kQqTChQyrIXqbRkJqxoTXLyeJDF0sCyTdp3L8IZCUWodM8
|
@@ -114,8 +114,8 @@ KcVGsryKN6cjE7yCDasnA7R2rVBV/7NWeJV77bmzT5O//rW4yIfUIg==
|
|
114
114
|
thor.empty_directory File.join(knife_config_dir, name)
|
115
115
|
thor.empty_directory File.join(knife_config_dir, 'keys')
|
116
116
|
|
117
|
-
thor.create_file(File.join(knife_config_dir, name, "#{knife_config[:node_name]}.pem"), private_key, :force => true) if private_key
|
118
|
-
thor.create_file(File.join(knife_config_dir, name, "#{knife_config[:validation_client_name]}.pem"),
|
117
|
+
thor.create_file(File.join(knife_config_dir, name, "#{knife_config[:node_name]}.pem"), @private_key, :force => true) if @private_key
|
118
|
+
thor.create_file(File.join(knife_config_dir, name, "#{knife_config[:validation_client_name]}.pem"), @validation_key, :force => true) if @validation_key
|
119
119
|
|
120
120
|
validate_knife_config(knife_config_file) unless name == 'local'
|
121
121
|
|
data/lib/fhcap/version.rb
CHANGED
@@ -16,7 +16,6 @@ def random_key(name)
|
|
16
16
|
@keys[name] = SecureRandom.urlsafe_base64(16)
|
17
17
|
end
|
18
18
|
@keys[name]
|
19
|
-
|
20
19
|
end
|
21
20
|
-%>
|
22
21
|
{
|
@@ -61,7 +60,7 @@ end
|
|
61
60
|
},
|
62
61
|
"feedhenry_galera": {
|
63
62
|
"cluster_enabled": true,
|
64
|
-
"safe-updates":
|
63
|
+
"safe-updates": true,
|
65
64
|
"wsrep": {
|
66
65
|
"password": "<%= random_password('galerawsrep') %>"
|
67
66
|
}
|
@@ -104,7 +103,7 @@ end
|
|
104
103
|
"fh-metrics": {
|
105
104
|
"conf": {
|
106
105
|
"metrics": {
|
107
|
-
"metricsAPIKey": "<%=random_key('fh-metrics')%>",
|
106
|
+
"metricsAPIKey": "<%=random_key('fh-metrics')%>",
|
108
107
|
"database": {
|
109
108
|
"auth": {
|
110
109
|
"user": "u-messaging",
|
@@ -117,10 +116,10 @@ end
|
|
117
116
|
"fh-supercore": {
|
118
117
|
"conf": {
|
119
118
|
"fhsupercore": {
|
120
|
-
"fhmetrics":{
|
119
|
+
"fhmetrics": {
|
121
120
|
"apikey":"<%=random_key('fh-metrics')%>"
|
122
121
|
},
|
123
|
-
"fhmessaging":{
|
122
|
+
"fhmessaging": {
|
124
123
|
"apikey":"<%=random_key('fh-messaging')%>"
|
125
124
|
},
|
126
125
|
"database": {
|
@@ -134,15 +133,7 @@ end
|
|
134
133
|
}
|
135
134
|
},
|
136
135
|
"millicore": {
|
137
|
-
"migrates": {
|
138
|
-
"enabled": true
|
139
|
-
},
|
140
136
|
"conf": {
|
141
|
-
"csrf": {
|
142
|
-
"checks": {
|
143
|
-
"enabled": true
|
144
|
-
}
|
145
|
-
},
|
146
137
|
"digger": {
|
147
138
|
"polling": {
|
148
139
|
"iphone": true,
|
@@ -168,22 +159,9 @@ end
|
|
168
159
|
}
|
169
160
|
}
|
170
161
|
},
|
171
|
-
"fhaaa": {
|
172
|
-
"authorisation": {
|
173
|
-
"enabled": true
|
174
|
-
}
|
175
|
-
},
|
176
|
-
"fhcore": {
|
177
|
-
"polling_status": {
|
178
|
-
"enabled": false
|
179
|
-
}
|
180
|
-
},
|
181
162
|
"git": {
|
182
|
-
"enabled": true,
|
183
163
|
"admin-host": "git.<%= config[:domain] %>",
|
184
|
-
"external-host": "git.<%= config[:domain] %>"
|
185
|
-
"service": "gitlab-shell",
|
186
|
-
"enable-branch-selector": true
|
164
|
+
"external-host": "git.<%= config[:domain] %>"
|
187
165
|
},
|
188
166
|
"mongodb": {
|
189
167
|
"migrates": {
|
@@ -209,14 +187,7 @@ end
|
|
209
187
|
"studio-js-cloudresources-enabled": false,
|
210
188
|
"studio-js-admin-environments-mbaases-ui": true,
|
211
189
|
"studio-protocol": "http",
|
212
|
-
"millicore.protocol": "http"
|
213
|
-
"studio": {
|
214
|
-
"version": {
|
215
|
-
"option": {
|
216
|
-
"enabled": false
|
217
|
-
}
|
218
|
-
}
|
219
|
-
}
|
190
|
+
"millicore.protocol": "http"
|
220
191
|
}
|
221
192
|
},
|
222
193
|
"mongodb": {
|
@@ -303,4 +274,4 @@ end
|
|
303
274
|
"password": "feedhenry101"
|
304
275
|
}
|
305
276
|
}
|
306
|
-
}
|
277
|
+
}
|
@@ -15,7 +15,6 @@ def random_key(name)
|
|
15
15
|
@keys[name] = SecureRandom.urlsafe_base64(16)
|
16
16
|
end
|
17
17
|
@keys[name]
|
18
|
-
|
19
18
|
end
|
20
19
|
-%>
|
21
20
|
{
|
@@ -76,22 +75,22 @@ end
|
|
76
75
|
"username": "df-<%= config[:name] %>",
|
77
76
|
"_password": "<%= random_password('fh-proxy') %>"
|
78
77
|
},
|
79
|
-
"fhmetrics":{
|
78
|
+
"fhmetrics": {
|
80
79
|
"apikey": "<%=random_key('fh-metrics')%>"
|
81
80
|
},
|
82
|
-
"fhmessaging":{
|
81
|
+
"fhmessaging": {
|
83
82
|
"apikey": "<%=random_key('fh-messaging')%>"
|
84
83
|
}
|
85
84
|
}
|
86
85
|
},
|
87
|
-
"fh-metrics":{
|
86
|
+
"fh-metrics": {
|
88
87
|
"conf":{
|
89
88
|
"metrics": {
|
90
89
|
"metricsAPIKey": "<%=random_key('fh-metrics')%>"
|
91
90
|
}
|
92
91
|
}
|
93
92
|
},
|
94
|
-
"fh-messaging":{
|
93
|
+
"fh-messaging": {
|
95
94
|
"conf":{
|
96
95
|
"msgAPIKey": "<%=random_key('fh-messaging')%>"
|
97
96
|
}
|
@@ -100,10 +99,7 @@ end
|
|
100
99
|
"conf": {
|
101
100
|
"fhproxy": {
|
102
101
|
"user": "df-<%= config[:name] %>",
|
103
|
-
"passwd": "<%= random_password('fh-proxy') %>"
|
104
|
-
"suspendapps": {
|
105
|
-
"inactive_minutes": 10080
|
106
|
-
}
|
102
|
+
"passwd": "<%= random_password('fh-proxy') %>"
|
107
103
|
}
|
108
104
|
}
|
109
105
|
},
|
@@ -152,4 +148,4 @@ end
|
|
152
148
|
}
|
153
149
|
}
|
154
150
|
}
|
155
|
-
}
|
151
|
+
}
|
@@ -271,7 +271,7 @@
|
|
271
271
|
"subnet": "1a"
|
272
272
|
},
|
273
273
|
"load_balancers": ["scm", "messaging", "metrics"],
|
274
|
-
"run_list": ["role[mount_data_volumes]", "role[fh-scm]", "role[fh-messaging]", "role[fh-metrics]", "role[fh-
|
274
|
+
"run_list": ["role[mount_data_volumes]", "role[fh-scm]", "role[fh-messaging]", "role[fh-metrics]", "role[fh-stats]"],
|
275
275
|
"source_dest_check": true
|
276
276
|
},
|
277
277
|
"util2": {
|
@@ -17,12 +17,6 @@
|
|
17
17
|
"security_groups": {
|
18
18
|
"<%= config[:environment_name] %>-api-lb": {
|
19
19
|
"authorize_ingress": [
|
20
|
-
{
|
21
|
-
"protocols": ["tcp"],
|
22
|
-
"start": 80,
|
23
|
-
"end": 80,
|
24
|
-
"sources": ["0.0.0.0/0"]
|
25
|
-
},
|
26
20
|
{
|
27
21
|
"protocols": ["tcp"],
|
28
22
|
"start": 443,
|
@@ -44,12 +38,6 @@
|
|
44
38
|
"start": -1,
|
45
39
|
"end": -1,
|
46
40
|
"groups": ["<%= config[:environment_name] %>"]
|
47
|
-
},
|
48
|
-
{
|
49
|
-
"protocols": ["tcp"],
|
50
|
-
"start": 80,
|
51
|
-
"end": 80,
|
52
|
-
"groups": ["<%= config[:environment_name] %>-api-lb"]
|
53
41
|
}
|
54
42
|
]
|
55
43
|
},
|
@@ -80,12 +68,6 @@
|
|
80
68
|
"subnets": ["1a", "1b"],
|
81
69
|
"scheme": "internet-facing",
|
82
70
|
"listeners": [
|
83
|
-
{
|
84
|
-
"port": 80,
|
85
|
-
"protocol": "http",
|
86
|
-
"instance_port": 80,
|
87
|
-
"instance_protocol": "http"
|
88
|
-
},
|
89
71
|
{
|
90
72
|
"port": 443,
|
91
73
|
"protocol": "https",
|
@@ -17,7 +17,7 @@
|
|
17
17
|
"run_list": ["role[galera_server]", "role[platform_mongo_server]", "role[rabbitmq_server]"]
|
18
18
|
},
|
19
19
|
"util1": {
|
20
|
-
"run_list": ["role[fh-scm]", "role[fh-messaging]", "role[fh-metrics]", "role[fh-
|
20
|
+
"run_list": ["role[fh-scm]", "role[fh-messaging]", "role[fh-metrics]", "role[fh-stats]"]
|
21
21
|
},
|
22
22
|
"util2": {
|
23
23
|
"run_list": ["role[fh-scm]", "role[fh-messaging]", "role[fh-metrics]", "role[fh-stats]"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fhcap-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Nairn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -425,6 +425,8 @@ files:
|
|
425
425
|
- lib/extensions/chef/provisioning.rb
|
426
426
|
- lib/extensions/chef/provisioning/aws_driver/driver.rb
|
427
427
|
- lib/extensions/chef/provisioning/chef_run_data.rb
|
428
|
+
- lib/extensions/chef/resource/aws_ebs_volume.rb
|
429
|
+
- lib/extensions/chef/resource/aws_instance.rb
|
428
430
|
- lib/extensions/chef/solr/query/regexpable_query.rb
|
429
431
|
- lib/extensions/cheffish/merged_config.rb
|
430
432
|
- lib/fhcap.rb
|
@@ -591,7 +593,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
591
593
|
requirements:
|
592
594
|
- - '>='
|
593
595
|
- !ruby/object:Gem::Version
|
594
|
-
version: 2.
|
596
|
+
version: 2.6.3
|
595
597
|
requirements: []
|
596
598
|
rubyforge_project:
|
597
599
|
rubygems_version: 2.6.4
|