hako 2.5.1 → 2.6.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 455bfab68b9704f5c88024b8b7cedf62e785c0402c7319a27cc7ad211d7469e5
4
- data.tar.gz: 8e77ee272e621bd74313efa44fe3893a7ca321f70782a79080fcc93f565b0fe7
3
+ metadata.gz: 7b787a7d8f621f8f8c1f9c36b4d2f6388d537c58eb33a3b0f5ff084864187b68
4
+ data.tar.gz: b274e28a64b66a768aa782e80d42d5a8193cd46e85b5125726bf755ceef512d1
5
5
  SHA512:
6
- metadata.gz: baa10b71b8e5082c3349651f5497d2dd46bc67f66b88245c13e535b40c6253a68402232e9596b21133c781b31c893c4a7792139688fda4fd3af5412d051bd80f
7
- data.tar.gz: e24e45b42ddad5852bf55696126155a6268c807fbaf079978677270c86eaa89bc4b6011907b1201e08c8285a231e9f3a91f5c11a311495054d2d1c4e5734cccb
6
+ metadata.gz: 3dbfbe813c945a3c566200681c436e0efc95580a60c5db7750d7d584e81b7963cd31dc1e284cfd020aca0ad4104f4f7820133dab0f524759ee30dc8d1db7397b
7
+ data.tar.gz: 6c91241388f94a031a411fd0cbfa896da13a9a1a55db717c6878f1a954cf93c680956dbef983e59d8947955bc2a43b8495f1e742cfb98491bf4e3c9eba901c22
@@ -1,3 +1,12 @@
1
+ # 2.6.0 (2018-12-13)
2
+ ## New features
3
+ - Support `essential` parameter for each container
4
+ - The default value remains `true`
5
+
6
+ ## Bug fixes
7
+ - Stop trying to deregister non-existent scalable target on `hako remove`
8
+ - Update service when `health_check_grace_period_seconds` changes
9
+
1
10
  # 2.5.1 (2018-11-29)
2
11
  ## Bug fixes
3
12
  - Check secrets existence in dry-run mode
@@ -26,6 +26,7 @@ module Hako
26
26
  memory
27
27
  memory_reservation
28
28
  links
29
+ essential
29
30
  command
30
31
  user
31
32
  privileged
@@ -221,6 +222,7 @@ module Hako
221
222
  'env' => {},
222
223
  'docker_labels' => {},
223
224
  'links' => [],
225
+ 'essential' => true,
224
226
  'mount_points' => [],
225
227
  'port_mappings' => [],
226
228
  'volumes_from' => [],
@@ -45,7 +45,9 @@ module Hako
45
45
  @ecs_elb_v2_options['target_type'] = 'ip'
46
46
  end
47
47
  @dynamic_port_mapping = options.fetch('dynamic_port_mapping', @ecs_elb_options.nil?)
48
- @health_check_grace_period_seconds = options.fetch('health_check_grace_period_seconds', nil)
48
+ @health_check_grace_period_seconds = options.fetch('health_check_grace_period_seconds') do
49
+ @ecs_elb_options || @ecs_elb_v2_options ? 0 : nil
50
+ end
49
51
  if options.key?('autoscaling')
50
52
  @autoscaling = EcsAutoscaling.new(options.fetch('autoscaling'), @region, ecs_elb_client, dry_run: @dry_run)
51
53
  end
@@ -303,9 +305,6 @@ module Hako
303
305
  ecs_client.delete_service(cluster: service.cluster_arn, service: service.service_arn)
304
306
  Hako.logger.info "#{service.service_arn} is deleted"
305
307
  end
306
- if @autoscaling
307
- @autoscaling.remove(service)
308
- end
309
308
  else
310
309
  puts "Service #{@app_id} doesn't exist"
311
310
  end
@@ -599,7 +598,7 @@ module Hako
599
598
  memory_reservation: container.memory_reservation,
600
599
  links: container.links,
601
600
  port_mappings: container.port_mappings,
602
- essential: true,
601
+ essential: container.essential,
603
602
  environment: environment,
604
603
  secrets: container.secrets,
605
604
  docker_labels: container.docker_labels,
@@ -113,24 +113,6 @@ module Hako
113
113
  nil
114
114
  end
115
115
 
116
- # @param [Aws::ECS::Types::Service] service
117
- # @return [nil]
118
- def remove(service)
119
- resource_id = service_resource_id(service)
120
- service_namespace = 'ecs'
121
- scalable_dimension = 'ecs:service:DesiredCount'
122
-
123
- Hako.logger.info("Deregister scalable target #{resource_id} and its policies")
124
- unless @dry_run
125
- begin
126
- autoscaling_client.deregister_scalable_target(service_namespace: service_namespace, resource_id: resource_id, scalable_dimension: scalable_dimension)
127
- rescue Aws::ApplicationAutoScaling::Errors::ObjectNotFoundException => e
128
- Hako.logger.warn(e)
129
- end
130
- end
131
- nil
132
- end
133
-
134
116
  # @param [Aws::ECS::Types::Service] service
135
117
  # @return [nil]
136
118
  def status(service)
@@ -26,6 +26,7 @@ module Hako
26
26
  struct.member(:memory, Schema::Nullable.new(Schema::Integer.new))
27
27
  struct.member(:memory_reservation, Schema::Nullable.new(Schema::Integer.new))
28
28
  struct.member(:links, Schema::UnorderedArray.new(Schema::String.new))
29
+ struct.member(:essential, Schema::Boolean.new)
29
30
  struct.member(:port_mappings, Schema::UnorderedArray.new(port_mapping_schema))
30
31
  struct.member(:environment, Schema::UnorderedArray.new(environment_schema))
31
32
  struct.member(:secrets, Schema::Nullable.new(Schema::UnorderedArray.new(secrets_schema)))
@@ -25,6 +25,7 @@ module Hako
25
25
  struct.member(:deployment_configuration, Schema::WithDefault.new(deployment_configuration_schema, default_configuration))
26
26
  struct.member(:platform_version, Schema::String.new)
27
27
  struct.member(:network_configuration, Schema::Nullable.new(network_configuration_schema))
28
+ struct.member(:health_check_grace_period_seconds, Schema::Nullable.new(Schema::Integer.new))
28
29
  end
29
30
  end
30
31
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Hako
4
- VERSION = '2.5.1'
4
+ VERSION = '2.6.0'
5
5
  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: 2.5.1
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kohei Suzuki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-29 00:00:00.000000000 Z
11
+ date: 2018-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-applicationautoscaling