hako 0.2.0 → 0.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41e144225804bd958a9c8be85ad1f2998cc3a70b
4
- data.tar.gz: 746df8720d4697f12ed9b7fd66d73699af39e8c1
3
+ metadata.gz: db06d64418cd4a7dcd0217e8c6ada22c9fd100fb
4
+ data.tar.gz: 5f962c2f0b257e6486d69c5bde8f4d16a38663ed
5
5
  SHA512:
6
- metadata.gz: 47a8418855c3fe25132a0033375a00628df9cb07385e6ee1ccb50c6d18c1e14ae0deb1f9284cf32d354568631f7fbfe67d84a1a12b95e6ce1823d43dd48e7d92
7
- data.tar.gz: d4274e025153b4cebaac5e6b4d81ef05443afa9a497cccb54b77cf54a8612decf9be2dc5d17980dae692e08cfa112e4f640122f6cf739dded359005657ebfdde
6
+ metadata.gz: 55589bac643779f00ed7eaf18c40106e262610685ba747affd57f21001a38ebf0c31f6f0cbdd14f87bea34ca3a5adb6969e116fc149a12737ffe193d80812dde
7
+ data.tar.gz: 5d6f39b9a9d2dc9452ebb412981fe0f255b9485faa82819a24a8f2e29554908333693491d84108e1e47fd0ed8016bcc92d84bfb5202d768e25df28cac9225a2e
@@ -21,3 +21,7 @@ Metrics/BlockNesting:
21
21
 
22
22
  Style/Documentation:
23
23
  Enabled: false
24
+
25
+ # Temporarily...
26
+ Metrics/ParameterLists:
27
+ Enabled: false
@@ -19,11 +19,12 @@ module Hako
19
19
  front = load_front(@app.yaml['front'])
20
20
  scheduler = load_scheduler(@app.yaml['scheduler'])
21
21
  app_port = @app.yaml.fetch('port', nil)
22
+ docker_labels = @app.yaml.fetch('docker_labels', {})
22
23
  image = @app.yaml.fetch('image') { raise Error.new('image must be set') }
23
24
  image_tag = "#{image}:#{tag}"
24
25
  after_scripts = @app.yaml.fetch('after_scripts', []).map { |config| load_after_script(config) }
25
26
 
26
- scheduler.deploy(image_tag, env, app_port, front, force: force)
27
+ scheduler.deploy(image_tag, env, app_port, docker_labels, front, force: force)
27
28
 
28
29
  after_scripts.each(&:after_deploy)
29
30
  end
@@ -8,7 +8,7 @@ module Hako
8
8
  def initialize(_app_id, _options)
9
9
  end
10
10
 
11
- def deploy(_image_tag, _env, _app_port, _front_config, _options)
11
+ def deploy(_image_tag, _env, _app_port, _docker_labels, _front_config, _options)
12
12
  raise NotImplementedError
13
13
  end
14
14
 
@@ -7,7 +7,7 @@ module Hako
7
7
  @app_id = app_id
8
8
  end
9
9
 
10
- def deploy(image_tag, env, app_port, _front, force: false)
10
+ def deploy(image_tag, env, app_port, _docker_labels, _front, force: false)
11
11
  puts "Deploy #{image_tag} with app_port=#{app_port}, force=#{force}"
12
12
  puts 'Environment variables:'
13
13
  env.each do |key, val|
@@ -23,7 +23,7 @@ module Hako
23
23
  @ec2 = Aws::EC2::Client.new(region: region)
24
24
  end
25
25
 
26
- def deploy(image_tag, env, app_port, front, force: false)
26
+ def deploy(image_tag, env, app_port, docker_labels, front, force: false)
27
27
  @force_mode = force
28
28
  front_env = {
29
29
  'AWS_DEFAULT_REGION' => front.config.s3.region,
@@ -31,7 +31,7 @@ module Hako
31
31
  'S3_CONFIG_KEY' => front.config.s3.key(@app_id),
32
32
  }
33
33
  front_port = determine_front_port
34
- task_definition = register_task_definition(image_tag, env, front.config, front_env, front_port)
34
+ task_definition = register_task_definition(image_tag, env, docker_labels, front.config, front_env, front_port)
35
35
  if task_definition == :noop
36
36
  Hako.logger.info "Task definition isn't changed"
37
37
  task_definition = @ecs.describe_task_definition(task_definition: @app_id).task_definition
@@ -195,9 +195,9 @@ module Hako
195
195
  EcsDefinitionComparator.new(expected_container).different?(actual_container)
196
196
  end
197
197
 
198
- def register_task_definition(image_tag, env, front_config, front_env, front_port)
198
+ def register_task_definition(image_tag, env, docker_labels, front_config, front_env, front_port)
199
199
  front = front_container(front_config, front_env, front_port)
200
- app = app_container(image_tag, env)
200
+ app = app_container(image_tag, env, docker_labels)
201
201
  if task_definition_changed?(front, app)
202
202
  @ecs.register_task_definition(
203
203
  family: @app_id,
@@ -239,7 +239,7 @@ module Hako
239
239
  }
240
240
  end
241
241
 
242
- def app_container(image_tag, env)
242
+ def app_container(image_tag, env, docker_labels)
243
243
  environment = env.map { |k, v| { name: k, value: v } }
244
244
  {
245
245
  name: 'app',
@@ -250,6 +250,7 @@ module Hako
250
250
  port_mappings: [],
251
251
  essential: true,
252
252
  environment: environment,
253
+ docker_labels: docker_labels,
253
254
  }
254
255
  end
255
256
 
@@ -1,3 +1,3 @@
1
1
  module Hako
2
- VERSION = '0.2.0'.freeze
2
+ VERSION = '0.2.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hako
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kohei Suzuki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-01-19 00:00:00.000000000 Z
11
+ date: 2016-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -159,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
159
159
  version: '0'
160
160
  requirements: []
161
161
  rubyforge_project:
162
- rubygems_version: 2.4.5.1
162
+ rubygems_version: 2.5.1
163
163
  signing_key:
164
164
  specification_version: 4
165
165
  summary: Deploy Docker container