hako 0.8.2 → 0.8.3

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: 665578331d5035ff75099f4bb770d7641afdf673
4
- data.tar.gz: 3a42abbc548e35a96ee904646705f4ccb450aba0
3
+ metadata.gz: f2f958e89ebfe3cdc0f02e19fef088050b9ed312
4
+ data.tar.gz: 6b4c9624e6365ae512687e5da44714d45f19f666
5
5
  SHA512:
6
- metadata.gz: 2a4dcb2422809529c0a658d00cbb973a981d2f7097e3837aa642534c4dd04d0a377e648c1d4840f5a5db6f24094c202ea7dc32aacaeabe56c7c5785f7b01fa9b
7
- data.tar.gz: ccd8ebd654e0558cec63441d9cde782a006fc45b6fd3a61865353f4568e7d565b734f17bebcfff030466aadbfd8a1b3dc23d2a408935cf3e03d79fb2879f2268
6
+ metadata.gz: dadafbc0ed40f7e9b76c862606d4c409f9b612aac2cc28ac28f7aefd0fc1bbb35c60e0b258c9b22c5120952b7780cd661dc62598e2855b13fb8a73c52ab79b33
7
+ data.tar.gz: b884b5dfd9ff2eee4bb19a4c6f71687a098d87a1df51f6ad587e874fa020f1699f3a1cb4a6cde83299d2e20421cae58ad813feddb855020b380838b449ce7ec8
data/lib/hako/cli.rb CHANGED
@@ -101,12 +101,13 @@ module Hako
101
101
  Hako.logger.level = Logger::DEBUG
102
102
  end
103
103
 
104
- Commander.new(Application.new(@yaml_path)).oneshot(@argv, tag: @tag, containers: @containers)
104
+ Commander.new(Application.new(@yaml_path)).oneshot(@argv, tag: @tag, containers: @containers, env: @env)
105
105
  end
106
106
 
107
107
  def parse!(argv)
108
108
  @tag = 'latest'
109
109
  @containers = []
110
+ @env = {}
110
111
  @verbose = false
111
112
  parser.parse!(argv)
112
113
  @yaml_path = argv.shift
@@ -125,6 +126,10 @@ module Hako
125
126
  opts.on('-t', '--tag=TAG', 'Specify tag (default: latest)') { |v| @tag = v }
126
127
  opts.on('-c', '--container=NAME', 'Additional container name to start with the app container') { |v| @containers << v }
127
128
  opts.on('-v', '--verbose', 'Enable verbose logging') { @verbose = true }
129
+ opts.on('-e', '--env=NAME=VAL', 'Add environment variable') do |arg|
130
+ k, v = arg.split('=', 2)
131
+ @env[k] = v
132
+ end
128
133
  end
129
134
  end
130
135
  end
@@ -24,10 +24,10 @@ module Hako
24
24
  scripts.each { |script| script.after_deploy(containers) }
25
25
  end
26
26
 
27
- def oneshot(commands, tag:, containers:)
27
+ def oneshot(commands, tag:, containers:, env: {})
28
28
  containers = load_containers(tag, dry_run: false, with: containers)
29
29
  scheduler = load_scheduler(@app.yaml['scheduler'])
30
- exit scheduler.oneshot(containers, commands)
30
+ exit scheduler.oneshot(containers, commands, env)
31
31
  end
32
32
 
33
33
  def status
@@ -55,7 +55,7 @@ module Hako
55
55
  end
56
56
  end
57
57
 
58
- def oneshot(containers, commands)
58
+ def oneshot(containers, commands, env)
59
59
  definitions = create_definitions(containers, -1)
60
60
  definitions.each do |definition|
61
61
  definition.delete(:essential)
@@ -67,7 +67,7 @@ module Hako
67
67
  else
68
68
  Hako.logger.info "Registered task definition: #{task_definition.task_definition_arn}"
69
69
  end
70
- task = run_task(task_definition, commands)
70
+ task = run_task(task_definition, commands, env)
71
71
  Hako.logger.info "Started task: #{task.task_arn}"
72
72
  containers = wait_for_task(task)
73
73
  Hako.logger.info 'Oneshot task finished'
@@ -294,7 +294,8 @@ module Hako
294
294
  }
295
295
  end
296
296
 
297
- def run_task(task_definition, commands)
297
+ def run_task(task_definition, commands, env)
298
+ environment = env.map { |k, v| { name: k, value: v } }
298
299
  @ecs.run_task(
299
300
  cluster: @cluster,
300
301
  task_definition: task_definition.task_definition_arn,
@@ -303,6 +304,7 @@ module Hako
303
304
  {
304
305
  name: 'app',
305
306
  command: commands,
307
+ environment: environment,
306
308
  },
307
309
  ],
308
310
  },
data/lib/hako/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Hako
3
- VERSION = '0.8.2'
3
+ VERSION = '0.8.3'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hako
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kohei Suzuki