hako 0.20.0 → 0.20.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/hako/cli.rb +29 -0
- data/lib/hako/commander.rb +4 -0
- data/lib/hako/container.rb +2 -0
- data/lib/hako/scheduler.rb +4 -0
- data/lib/hako/schedulers/ecs.rb +17 -0
- data/lib/hako/schedulers/ecs_definition_comparator.rb +1 -1
- data/lib/hako/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a138ad34e8358e637424783db88022f2b3018fdd
|
4
|
+
data.tar.gz: 26643b7c4701669d9014cc15e0c9efaa6c6d4911
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ac024fb63476147ae026c12af7a60af5677e7c2978c5d7a42051fccd34e6a09da751ead807072f4ddf3891271e69849ea33187b01da86a9d88abb89dc5f3daa
|
7
|
+
data.tar.gz: 933b38fb37e3d364a835285903b470656e7fecbb6ea5d9dc7cb36807a93fe8350ec56e1243e142a4c1c54c2951adce03710c1216ed0a93f7f66860c06e5aa303
|
data/lib/hako/cli.rb
CHANGED
@@ -12,6 +12,7 @@ module Hako
|
|
12
12
|
show-yaml
|
13
13
|
status
|
14
14
|
remove
|
15
|
+
stop
|
15
16
|
].freeze
|
16
17
|
|
17
18
|
def self.start(argv)
|
@@ -250,5 +251,33 @@ module Hako
|
|
250
251
|
end
|
251
252
|
end
|
252
253
|
end
|
254
|
+
|
255
|
+
class Stop
|
256
|
+
def run(argv)
|
257
|
+
parse!(argv)
|
258
|
+
require 'hako/application'
|
259
|
+
require 'hako/commander'
|
260
|
+
Commander.new(Application.new(@yaml_path)).stop(dry_run: @dry_run)
|
261
|
+
end
|
262
|
+
|
263
|
+
def parse!(argv)
|
264
|
+
@dry_run = false
|
265
|
+
parser.parse!(argv)
|
266
|
+
@yaml_path = argv.first
|
267
|
+
|
268
|
+
if @yaml_path.nil?
|
269
|
+
puts parser.help
|
270
|
+
exit 1
|
271
|
+
end
|
272
|
+
end
|
273
|
+
|
274
|
+
def parser
|
275
|
+
@parser ||= OptionParser.new do |opts|
|
276
|
+
opts.banner = 'hako stop FILE'
|
277
|
+
opts.version = VERSION
|
278
|
+
opts.on('-n', '--dry-run', 'Enable dry-run mode') { @dry_run = true }
|
279
|
+
end
|
280
|
+
end
|
281
|
+
end
|
253
282
|
end
|
254
283
|
end
|
data/lib/hako/commander.rb
CHANGED
data/lib/hako/container.rb
CHANGED
data/lib/hako/scheduler.rb
CHANGED
data/lib/hako/schedulers/ecs.rb
CHANGED
@@ -234,6 +234,21 @@ module Hako
|
|
234
234
|
ecs_elb_client.destroy
|
235
235
|
end
|
236
236
|
|
237
|
+
# @return [nil]
|
238
|
+
def stop
|
239
|
+
service = describe_service
|
240
|
+
if service
|
241
|
+
if @dry_run
|
242
|
+
Hako.logger.info("ecs_client.update_service(cluster: #{@cluster}, service: #{@app_id}, desired_count: 0)")
|
243
|
+
else
|
244
|
+
ecs_client.update_service(cluster: @cluster, service: @app_id, desired_count: 0)
|
245
|
+
Hako.logger.info("#{service.service_arn} is stopped")
|
246
|
+
end
|
247
|
+
else
|
248
|
+
puts "Service #{@app_id} doesn't exist"
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
237
252
|
private
|
238
253
|
|
239
254
|
# @return [Aws::ECS::Client]
|
@@ -428,6 +443,7 @@ module Hako
|
|
428
443
|
image: container.image_tag,
|
429
444
|
cpu: container.cpu,
|
430
445
|
memory: container.memory,
|
446
|
+
memory_reservation: container.memory_reservation,
|
431
447
|
links: container.links,
|
432
448
|
port_mappings: container.port_mappings,
|
433
449
|
essential: true,
|
@@ -436,6 +452,7 @@ module Hako
|
|
436
452
|
mount_points: container.mount_points,
|
437
453
|
command: container.command,
|
438
454
|
volumes_from: container.volumes_from,
|
455
|
+
user: container.user,
|
439
456
|
}
|
440
457
|
end
|
441
458
|
|
@@ -7,7 +7,7 @@ module Hako
|
|
7
7
|
@expected_container = expected_container
|
8
8
|
end
|
9
9
|
|
10
|
-
CONTAINER_KEYS = %i[image cpu memory links docker_labels].freeze
|
10
|
+
CONTAINER_KEYS = %i[image cpu memory memory_reservation links docker_labels user].freeze
|
11
11
|
PORT_MAPPING_KEYS = %i[container_port host_port protocol].freeze
|
12
12
|
ENVIRONMENT_KEYS = %i[name value].freeze
|
13
13
|
MOUNT_POINT_KEYS = %i[source_volume container_path read_only].freeze
|
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.20.
|
4
|
+
version: 0.20.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-09-
|
11
|
+
date: 2016-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|