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 +4 -4
- data/.rubocop_todo.yml +4 -0
- data/lib/hako/commander.rb +2 -1
- data/lib/hako/scheduler.rb +1 -1
- data/lib/hako/schedulers/echo.rb +1 -1
- data/lib/hako/schedulers/ecs.rb +6 -5
- data/lib/hako/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db06d64418cd4a7dcd0217e8c6ada22c9fd100fb
|
4
|
+
data.tar.gz: 5f962c2f0b257e6486d69c5bde8f4d16a38663ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55589bac643779f00ed7eaf18c40106e262610685ba747affd57f21001a38ebf0c31f6f0cbdd14f87bea34ca3a5adb6969e116fc149a12737ffe193d80812dde
|
7
|
+
data.tar.gz: 5d6f39b9a9d2dc9452ebb412981fe0f255b9485faa82819a24a8f2e29554908333693491d84108e1e47fd0ed8016bcc92d84bfb5202d768e25df28cac9225a2e
|
data/.rubocop_todo.yml
CHANGED
data/lib/hako/commander.rb
CHANGED
@@ -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
|
data/lib/hako/scheduler.rb
CHANGED
data/lib/hako/schedulers/echo.rb
CHANGED
@@ -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|
|
data/lib/hako/schedulers/ecs.rb
CHANGED
@@ -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
|
|
data/lib/hako/version.rb
CHANGED
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.
|
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-
|
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.
|
162
|
+
rubygems_version: 2.5.1
|
163
163
|
signing_key:
|
164
164
|
specification_version: 4
|
165
165
|
summary: Deploy Docker container
|