hako 0.2.0 → 0.2.1

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
  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