orchestration 0.5.12 → 0.5.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80872dc0b6d1fe6a0e4223915a047c9ed6b3461540b64842613b4d8a0ba72f3d
4
- data.tar.gz: b33f4a5c305fd48f952a92a4f98748d1dae64eae62d5b222b4831f80cc2dbe9f
3
+ metadata.gz: 037e3ae31fd0262ecde552e105f6313346a790cd8a0325d5162343352c9e972a
4
+ data.tar.gz: '057219101c53b9046d4b3d5e56c8ee8232aa12bcac73e33aa13e60bf5c831b22'
5
5
  SHA512:
6
- metadata.gz: 4d83d6166ce64feb661d3952431d4b26569c96568308008f0070960343cb7959847ae5217cf30e780fa0228387cdb4e4404091ac6934996492cda355eec9b932
7
- data.tar.gz: 6c78278a30cd2489e229900560c583731e29e4f88f4309530d6ff09095d59e426d6a500896d20dadcb03eca8dfdd3786b0c68d43c7b675209d7cdf4f374acbf1
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.12'
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(Hash[inherited_environment.map { |key| [key, nil] }])
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
@@ -14,7 +14,7 @@ module Orchestration
14
14
  end
15
15
 
16
16
  def services
17
- Hash[services_enabled]
17
+ services_enabled.to_h
18
18
  end
19
19
 
20
20
  def volumes
@@ -60,7 +60,7 @@ module Orchestration
60
60
  DockerCompose::Configuration.new(
61
61
  @env,
62
62
  environment,
63
- Hash[configurations(environment)]
63
+ configurations(environment).to_h
64
64
  )
65
65
  end
66
66
 
@@ -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.split('').select { |char| permitted.include?(char) }.join
132
+ string.chars.select { |char| permitted.include?(char) }.join
133
133
  end
134
134
  end
135
135
  end
@@ -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 mysql5_7 if gem_version < Gem::Version.new('0.4')
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 mysql5_7
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)
@@ -4,6 +4,7 @@ module Orchestration
4
4
  module Services
5
5
  module RabbitMQ
6
6
  PORT = 5672
7
+ MANAGEMENT_PORT = 15_672
7
8
  end
8
9
  end
9
10
  end
@@ -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'] %>
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Orchestration
4
- VERSION = '0.5.12'
4
+ VERSION = '0.5.13'
5
5
  end
@@ -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.0'
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', '~> 0.90.0'
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.12
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-02-01 00:00:00.000000000 Z
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.0
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.0
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: 0.90.0
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: 0.90.0
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: []