orchestration 0.5.12 → 0.5.13
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/README.md +4 -1
- data/lib/orchestration/docker_compose/app_service.rb +7 -1
- data/lib/orchestration/docker_compose/configuration.rb +1 -1
- data/lib/orchestration/docker_compose/install_generator.rb +1 -1
- data/lib/orchestration/docker_compose/rabbitmq_service.rb +4 -2
- data/lib/orchestration/environment.rb +1 -1
- data/lib/orchestration/errors.rb +2 -0
- data/lib/orchestration/services/database/adapters/mysql2.rb +2 -2
- data/lib/orchestration/services/database/configuration.rb +1 -1
- data/lib/orchestration/services/rabbitmq.rb +1 -0
- data/lib/orchestration/templates/orchestration.mk.erb +0 -2
- data/lib/orchestration/templates/rabbitmq.yml.erb +5 -2
- data/lib/orchestration/version.rb +1 -1
- data/orchestration.gemspec +5 -3
- metadata +51 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 037e3ae31fd0262ecde552e105f6313346a790cd8a0325d5162343352c9e972a
|
4
|
+
data.tar.gz: '057219101c53b9046d4b3d5e56c8ee8232aa12bcac73e33aa13e60bf5c831b22'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e678adc9b3ec89927df730b2f18e6a32dd3da17c84c6dfb77926309523854b7abfa8d29422b00fce976ec269dc48285bded35c3995004d71cca56328d73223f
|
7
|
+
data.tar.gz: 4f25a1bbb55d3bda4df651045f9919de417e9c8eada7cbcd6b5c00ce77308db3793b019e2b1a102771c73c2c878c032c5ac0cb75d0f8de9b7d1de3da5fb59471
|
data/README.md
CHANGED
@@ -27,7 +27,7 @@ The below screenshot demonstrates _Orchestration_ being installed in a brand new
|
|
27
27
|
Add _Orchestration_ to your Gemfile:
|
28
28
|
|
29
29
|
```ruby
|
30
|
-
gem 'orchestration', '~> 0.5.
|
30
|
+
gem 'orchestration', '~> 0.5.13'
|
31
31
|
```
|
32
32
|
|
33
33
|
Install:
|
@@ -402,12 +402,15 @@ _Orchestration_ generates the following `config/rabbitmq.yml`:
|
|
402
402
|
```
|
403
403
|
development:
|
404
404
|
url: amqp://127.0.0.1:51070
|
405
|
+
management_url: http://127.0.0.1:5069
|
405
406
|
|
406
407
|
test:
|
407
408
|
url: amqp://127.0.0.1:51068
|
409
|
+
management_url: http://127.0.0.1:5067
|
408
410
|
|
409
411
|
production:
|
410
412
|
url: <%= ENV['RABBITMQ_URL'] %>
|
413
|
+
management_url: <%= ENV['RABBITMQ_MANAGEMENT_URL'] %>
|
411
414
|
```
|
412
415
|
|
413
416
|
Using this approach, the environment variable `RABBITMQ_URL` can be used to configure _Bunny_ in production (similar to `DATABASE_URL` and `MONGO_URL`).
|
@@ -100,7 +100,13 @@ module Orchestration
|
|
100
100
|
'WEB_PRELOAD_APP' => '1',
|
101
101
|
'WEB_HEALTHCHECK_PATH' => '/',
|
102
102
|
'DATABASE_URL' => database_url
|
103
|
-
}.merge(
|
103
|
+
}.merge(inherited_environment.map { |key| [key, nil] }.to_h).merge(rabbitmq_urls)
|
104
|
+
end
|
105
|
+
|
106
|
+
def rabbitmq_urls
|
107
|
+
return {} unless Services::RabbitMQ::Configuration.new(Environment.new).enabled?
|
108
|
+
|
109
|
+
{ 'RABBITMQ_URL' => 'amqp://rabbitmq:5672', 'RABBITMQ_MANAGEMENT_URL' => 'http://rabbitmq:15672' }
|
104
110
|
end
|
105
111
|
|
106
112
|
def database_url
|
@@ -13,15 +13,17 @@ module Orchestration
|
|
13
13
|
def definition
|
14
14
|
return nil unless @config.enabled?
|
15
15
|
|
16
|
-
{ 'image' => 'library/rabbitmq' }.merge(ports)
|
16
|
+
{ 'image' => 'library/rabbitmq:management' }.merge(ports)
|
17
17
|
end
|
18
18
|
|
19
19
|
def ports
|
20
20
|
return {} unless %i[development test].include?(@environment)
|
21
21
|
|
22
22
|
container_port = Orchestration::Services::RabbitMQ::PORT
|
23
|
+
management_port = Orchestration::Services::RabbitMQ::MANAGEMENT_PORT
|
23
24
|
|
24
|
-
{ 'ports' => ["#{sidecar_port(@environment)}#{container_port}"
|
25
|
+
{ 'ports' => ["#{sidecar_port(@environment)}#{container_port}",
|
26
|
+
"#{sidecar_port(@environment)}#{management_port}"] }
|
25
27
|
end
|
26
28
|
end
|
27
29
|
end
|
@@ -129,7 +129,7 @@ module Orchestration
|
|
129
129
|
def docker_filter(string)
|
130
130
|
# Filter out characters not accepted by Docker Hub
|
131
131
|
permitted = [('0'..'9'), ('a'..'z')].map(&:to_a).flatten
|
132
|
-
string.
|
132
|
+
string.chars.select { |char| permitted.include?(char) }.join
|
133
133
|
end
|
134
134
|
end
|
135
135
|
end
|
data/lib/orchestration/errors.rb
CHANGED
@@ -4,7 +4,9 @@ module Orchestration
|
|
4
4
|
class OrchestrationError < StandardError; end
|
5
5
|
|
6
6
|
class HTTPConnectionError < OrchestrationError; end
|
7
|
+
|
7
8
|
class DatabaseConfigurationError < OrchestrationError; end
|
9
|
+
|
8
10
|
class MongoConfigurationError < OrchestrationError; end
|
9
11
|
|
10
12
|
class UnknownEnvironmentError < DatabaseConfigurationError; end
|
@@ -10,7 +10,7 @@ module Orchestration
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def image
|
13
|
-
return
|
13
|
+
return mysql57 if gem_version < Gem::Version.new('0.4')
|
14
14
|
|
15
15
|
'library/mysql'
|
16
16
|
end
|
@@ -43,7 +43,7 @@ module Orchestration
|
|
43
43
|
|
44
44
|
private
|
45
45
|
|
46
|
-
def
|
46
|
+
def mysql57
|
47
47
|
'library/mysql:5.7'
|
48
48
|
end
|
49
49
|
|
@@ -15,7 +15,7 @@ module Orchestration
|
|
15
15
|
def friendly_config
|
16
16
|
return "[#{adapter.name}]" if sqlite?
|
17
17
|
|
18
|
-
"[#{adapter.name}] #{host}:#{port}"
|
18
|
+
"[#{adapter.name}] #{adapter.name}://#{username}:#{password}@#{host}:#{port}/#{database}"
|
19
19
|
end
|
20
20
|
|
21
21
|
def settings(healthcheck: false)
|
@@ -238,7 +238,6 @@ ifndef verbose
|
|
238
238
|
$(call hr,${red}) ; \
|
239
239
|
)
|
240
240
|
endif
|
241
|
-
ifneq (,$(findstring deploy,$(MAKECMDGOALS)))
|
242
241
|
@echo ; \
|
243
242
|
$(call hr,${yellow}) ; \
|
244
243
|
$(call println,'${gray}docker-compose logs${reset}') ; \
|
@@ -247,7 +246,6 @@ ifneq (,$(findstring deploy,$(MAKECMDGOALS)))
|
|
247
246
|
@${compose} logs
|
248
247
|
@echo ; \
|
249
248
|
$(call hr,${yellow})
|
250
|
-
endif
|
251
249
|
@$(NOOP)
|
252
250
|
|
253
251
|
.PHONY: image
|
@@ -1,12 +1,15 @@
|
|
1
1
|
<% if compose.call('development').services.key?('rabbitmq') %>
|
2
2
|
development:
|
3
|
-
url: <%= "#{'<' + '%' + '='} ENV.fetch('RABBITMQ_URL', 'amqp://127.0.0.1:#{compose.call('development').local_port('rabbitmq')}') #{'%' + '>'}" %>
|
3
|
+
url: <%= "#{'<' + '%' + '='} ENV.fetch('RABBITMQ_URL', 'amqp://127.0.0.1:#{compose.call('development').local_port('rabbitmq', 5672)}') #{'%' + '>'}" %>
|
4
|
+
management_url: <%= "#{'<' + '%' + '='} ENV.fetch('RABBITMQ_MANAGEMENT_URL', 'http://guest:guest@127.0.0.1:#{compose.call('development').local_port('rabbitmq', 15672)}') #{'%' + '>'}" %>
|
4
5
|
<% end %>
|
5
6
|
|
6
7
|
<% if compose.call('test').services.key?('rabbitmq') %>
|
7
8
|
test:
|
8
|
-
url: <%= "#{'<' + '%' + '='} ENV.fetch('RABBITMQ_URL', 'amqp://127.0.0.1:#{compose.call('test').local_port('rabbitmq')}') #{'%' + '>'}" %>
|
9
|
+
url: <%= "#{'<' + '%' + '='} ENV.fetch('RABBITMQ_URL', 'amqp://127.0.0.1:#{compose.call('test').local_port('rabbitmq', 5672)}') #{'%' + '>'}" %>
|
10
|
+
management_url: <%= "#{'<' + '%' + '='} ENV.fetch('RABBITMQ_MANAGEMENT_URL', 'http://guest:guest@127.0.0.1:#{compose.call('test').local_port('rabbitmq', 15672)}') #{'%' + '>'}" %>
|
9
11
|
<% end %>
|
10
12
|
|
11
13
|
production:
|
12
14
|
url: <%%= ENV['RABBITMQ_URL'] %>
|
15
|
+
url: <%%= ENV['RABBITMQ_MANAGEMENT_URL'] %>
|
data/orchestration.gemspec
CHANGED
@@ -33,9 +33,8 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_runtime_dependency 'thor', '~> 1.0'
|
34
34
|
|
35
35
|
spec.add_development_dependency 'activerecord', '~> 6.0'
|
36
|
-
spec.add_development_dependency 'bundler', '~> 1.16'
|
37
36
|
spec.add_development_dependency 'bunny', '~> 2.12'
|
38
|
-
spec.add_development_dependency 'devpack', '~> 0.3.
|
37
|
+
spec.add_development_dependency 'devpack', '~> 0.3.2'
|
39
38
|
spec.add_development_dependency 'mongoid', '~> 7.0'
|
40
39
|
spec.add_development_dependency 'mysql2', '~> 0.5.2'
|
41
40
|
spec.add_development_dependency 'pg', '~> 1.1'
|
@@ -43,7 +42,10 @@ Gem::Specification.new do |spec|
|
|
43
42
|
spec.add_development_dependency 'rake', '~> 10.0'
|
44
43
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
45
44
|
spec.add_development_dependency 'rspec-its', '~> 1.2'
|
46
|
-
spec.add_development_dependency 'rubocop', '~>
|
45
|
+
spec.add_development_dependency 'rubocop', '~> 1.12'
|
46
|
+
spec.add_development_dependency 'rubocop-rails', '~> 2.9'
|
47
|
+
spec.add_development_dependency 'rubocop-rake', '~> 0.5.1'
|
48
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.2'
|
47
49
|
spec.add_development_dependency 'sqlite3', '~> 1.3'
|
48
50
|
spec.add_development_dependency 'strong_versions', '~> 0.4.5'
|
49
51
|
spec.add_development_dependency 'webmock', '~> 3.4'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: orchestration
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bob Farrell
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: database_url
|
@@ -94,20 +94,6 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '6.0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: bundler
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '1.16'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '1.16'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: bunny
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +114,14 @@ dependencies:
|
|
128
114
|
requirements:
|
129
115
|
- - "~>"
|
130
116
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0.3.
|
117
|
+
version: 0.3.2
|
132
118
|
type: :development
|
133
119
|
prerelease: false
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
135
121
|
requirements:
|
136
122
|
- - "~>"
|
137
123
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0.3.
|
124
|
+
version: 0.3.2
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: mongoid
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -240,14 +226,56 @@ dependencies:
|
|
240
226
|
requirements:
|
241
227
|
- - "~>"
|
242
228
|
- !ruby/object:Gem::Version
|
243
|
-
version:
|
229
|
+
version: '1.12'
|
230
|
+
type: :development
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - "~>"
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '1.12'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: rubocop-rails
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - "~>"
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '2.9'
|
244
|
+
type: :development
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - "~>"
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '2.9'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: rubocop-rake
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - "~>"
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: 0.5.1
|
258
|
+
type: :development
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - "~>"
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: 0.5.1
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: rubocop-rspec
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - "~>"
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '2.2'
|
244
272
|
type: :development
|
245
273
|
prerelease: false
|
246
274
|
version_requirements: !ruby/object:Gem::Requirement
|
247
275
|
requirements:
|
248
276
|
- - "~>"
|
249
277
|
- !ruby/object:Gem::Version
|
250
|
-
version:
|
278
|
+
version: '2.2'
|
251
279
|
- !ruby/object:Gem::Dependency
|
252
280
|
name: sqlite3
|
253
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -371,7 +399,7 @@ files:
|
|
371
399
|
homepage: https://github.com/bobf/orchestration
|
372
400
|
licenses: []
|
373
401
|
metadata: {}
|
374
|
-
post_install_message:
|
402
|
+
post_install_message:
|
375
403
|
rdoc_options: []
|
376
404
|
require_paths:
|
377
405
|
- lib
|
@@ -387,7 +415,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
387
415
|
version: '0'
|
388
416
|
requirements: []
|
389
417
|
rubygems_version: 3.0.3
|
390
|
-
signing_key:
|
418
|
+
signing_key:
|
391
419
|
specification_version: 4
|
392
420
|
summary: Docker orchestration toolkit
|
393
421
|
test_files: []
|