hako 0.20.0 → 0.20.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 +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
|