ecs_helper 0.0.30 → 0.0.34

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: 3d7135d95e971a93420416be037655008bcbdb414d1ff278a5d6f054f7cae45e
4
- data.tar.gz: 315b1bc56e9ec94be1d4ab05aa2ae969d3d6a5acacebcd899dad2a4a5664b7d7
3
+ metadata.gz: 6a88fdb1673cb2abe2e271e6004fd278b0c5d92bf630ab70fcf7a94c5e0730ce
4
+ data.tar.gz: '0278428fd13fc8bc2dcca2b054041787f85c06b1adb94523b09db83a8c160bfe'
5
5
  SHA512:
6
- metadata.gz: 607ed56e8ec010436a4b7bacac2a87c1135718e4c77530111056e8d3e6076598074d366924220eab781c30226adfaeda0b2d0073e0e3d89f652e7770dcdebf07
7
- data.tar.gz: e591908c48d43ad96a0045e342a55849f31203dedc6046162b0afef791fd30f9d9934b5afc6dce02d8407d8c07091eb9843d4311d7eeaf3c38c38b1f72ffd76c
6
+ metadata.gz: 52bb0aba871028e742a3ff98323d807f136ce19c2c55d3451ed429b31f32cc64d13b6e88bf4c0b8aa3cbfb61ea41a36b4014ae11a3bbae54ea4af5a223d069a3
7
+ data.tar.gz: be2a51106a033db704cc57f44539670616e55e12ba6a3f1a62ae1220708d296e6c3e671687889a559c75841788cdb543aaaffce07d432524a5e89e6988534846
data/Gemfile.lock CHANGED
@@ -1,12 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ecs_helper (0.0.30)
4
+ ecs_helper (0.0.34)
5
5
  aws-sdk-ecr (~> 1.42, >= 1.42)
6
6
  aws-sdk-ecrpublic (~> 1.3, >= 1.3)
7
7
  aws-sdk-ecs (~> 1.80, >= 1.80)
8
8
  aws-sdk-ssm (~> 1.0.0.rc7)
9
9
  colorize (~> 0.8, >= 0.8)
10
+ json (~> 2.5, >= 2.5)
10
11
  terrapin (~> 0.6, >= 0.6)
11
12
 
12
13
  GEM
@@ -17,8 +18,8 @@ GEM
17
18
  ast (2.4.2)
18
19
  awesome_print (1.9.2)
19
20
  aws-eventstream (1.2.0)
20
- aws-partitions (1.503.0)
21
- aws-sdk-core (3.121.0)
21
+ aws-partitions (1.516.0)
22
+ aws-sdk-core (3.121.1)
22
23
  aws-eventstream (~> 1, >= 1.0.2)
23
24
  aws-partitions (~> 1, >= 1.239.0)
24
25
  aws-sigv4 (~> 1.1)
@@ -29,7 +30,7 @@ GEM
29
30
  aws-sdk-ecrpublic (1.6.0)
30
31
  aws-sdk-core (~> 3, >= 3.120.0)
31
32
  aws-sigv4 (~> 1.1)
32
- aws-sdk-ecs (1.85.0)
33
+ aws-sdk-ecs (1.86.0)
33
34
  aws-sdk-core (~> 3, >= 3.120.0)
34
35
  aws-sigv4 (~> 1.1)
35
36
  aws-sdk-ssm (1.0.0)
@@ -46,6 +47,7 @@ GEM
46
47
  rexml
47
48
  hashdiff (1.0.1)
48
49
  jmespath (1.4.0)
50
+ json (2.6.0)
49
51
  method_source (1.0.0)
50
52
  minitest (5.14.4)
51
53
  minitest-power_assert (0.3.1)
@@ -94,6 +96,7 @@ GEM
94
96
  hashdiff (>= 0.4.0, < 2.0.0)
95
97
 
96
98
  PLATFORMS
99
+ aarch64-linux
97
100
  x86_64-darwin-18
98
101
  x86_64-linux
99
102
 
data/ecs_helper.gemspec CHANGED
@@ -39,5 +39,6 @@ Gem::Specification.new do |s|
39
39
  s.add_runtime_dependency 'aws-sdk-ecs', '~> 1.80', '>= 1.80'
40
40
  s.add_runtime_dependency 'aws-sdk-ssm', '~> 1.0.0.rc7'
41
41
  s.add_runtime_dependency 'colorize', '~> 0.8', '>= 0.8'
42
+ s.add_runtime_dependency 'json', '~> 2.5', '>= 2.5'
42
43
  s.add_runtime_dependency 'terrapin', '~> 0.6', '>= 0.6'
43
44
  end
@@ -70,10 +70,10 @@ class ECSHelper::Command::Deploy < ECSHelper::Command::Base
70
70
  end
71
71
 
72
72
  def timeout
73
- options[:timeout] || DEFAULT_TIMEOUT
73
+ (options[:timeout] || DEFAULT_TIMEOUT).to_i
74
74
  end
75
75
 
76
76
  def service
77
77
  helper.client.describe_service(cluster_arn, service_arn)
78
78
  end
79
- end
79
+ end
@@ -45,37 +45,20 @@ class ECSHelper::Command::Exec < ECSHelper::Command::Base
45
45
  def check_aws_cli
46
46
  check_bin('aws')
47
47
  check_aws_cli_version
48
- "success"
49
48
  end
50
49
 
51
-
52
- def check_aws_cli_version
53
- check_cmd = Terrapin::CommandLine.new("aws --version")
54
- result = check_cmd.run
55
- version = parse_version(result)
56
- if version === "1"
57
- messages = [
58
- "Exec command requires aws cli v2".light_white,
59
- cmd_option_parser[0].help
60
- ]
61
- raise ECSHelper::Error::CommandValidationError.new(messages)
62
- end
50
+ def printable?
51
+ true
63
52
  end
64
53
 
65
54
  def run
66
- log("Command", type)
67
- log("Cluster", cluster_arn)
68
- log("Service", service_arn)
69
- log("Task", task_arn)
70
- log("Options", options)
71
- log("Check session-manager-plugin ", check_session_manager_plugin)
72
- log("Check aws cli version", check_aws_cli)
73
- exec
55
+ check_session_manager_plugin
56
+ check_aws_cli
57
+ exec_command
74
58
  end
75
59
 
76
- def exec
77
- exec_cmd = Terrapin::CommandLine.new("aws ecs execute-command --cluster #{cluster_arn} --task #{task_arn} --container #{helper.options[:container]} --command #{helper.options[:command]} --interactive")
78
- exec_cmd.run
60
+ def exec_command
61
+ "aws ecs execute-command --cluster #{cluster_arn} --task #{task_arn} --container #{helper.options[:container]} --command #{helper.options[:command]} --interactive"
79
62
  end
80
63
 
81
64
  private
@@ -124,7 +124,7 @@ class ECSHelper::Command::RunCommand < ECSHelper::Command::Base
124
124
  end
125
125
 
126
126
  def timeout
127
- options[:timeout] || DEFAULT_TIMEOUT
127
+ (options[:timeout] || DEFAULT_TIMEOUT).to_i
128
128
  end
129
129
 
130
130
  def service
@@ -142,4 +142,4 @@ class ECSHelper::Command::RunCommand < ECSHelper::Command::Base
142
142
  def container_name
143
143
  options[:container_name]
144
144
  end
145
- end
145
+ end
@@ -8,6 +8,7 @@ BRANCH_TO_ENV_MAPPING = {
8
8
 
9
9
  class ECSHelper::CommonHelper
10
10
  attr_accessor :helper, :branch, :version, :env
11
+
11
12
  def initialize(helper)
12
13
  @helper = helper
13
14
  end
@@ -17,11 +18,18 @@ class ECSHelper::CommonHelper
17
18
  end
18
19
 
19
20
  def version
20
- @version ||= ENV["CI_COMMIT_SHA"] || `git rev-parse HEAD`.strip
21
+ @version ||=
22
+ begin
23
+ if deployable_branch? && use_image_tag_env_prefix?
24
+ "#{environment}-#{commit_sha}"
25
+ else
26
+ commit_sha
27
+ end
28
+ end
21
29
  end
22
30
 
23
31
  def environment
24
- @env ||= helper.options[:environment] || ENV["ENVIRONMENT"] || BRANCH_TO_ENV_MAPPING[branch.to_sym] || raise(StandardError.new("Environment not detected"))
32
+ @env ||= helper.options[:environment] || ENV["ENVIRONMENT"] || env_from_branch || raise(StandardError.new("Environment not detected"))
25
33
  end
26
34
 
27
35
  def project
@@ -31,4 +39,23 @@ class ECSHelper::CommonHelper
31
39
  def application
32
40
  ENV["APPLICATION"]
33
41
  end
34
- end
42
+
43
+ private
44
+
45
+ def env_from_branch
46
+ BRANCH_TO_ENV_MAPPING[branch.to_sym]
47
+ end
48
+
49
+ def deployable_branch?
50
+ !env_from_branch.nil?
51
+ end
52
+
53
+ def commit_sha
54
+ ENV["CI_COMMIT_SHA"] || `git rev-parse HEAD`.strip
55
+ end
56
+
57
+ def use_image_tag_env_prefix?
58
+ !ENV['USE_IMAGE_TAG_ENV_PREFIX'].nil?
59
+ end
60
+
61
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class ECSHelper
4
- VERSION = '0.0.30'
4
+ VERSION = '0.0.34'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecs_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.30
4
+ version: 0.0.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Petrov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-22 00:00:00.000000000 Z
11
+ date: 2021-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -196,60 +196,60 @@ dependencies:
196
196
  name: aws-sdk-ecr
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - ">="
199
+ - - "~>"
200
200
  - !ruby/object:Gem::Version
201
201
  version: '1.42'
202
- - - "~>"
202
+ - - ">="
203
203
  - !ruby/object:Gem::Version
204
204
  version: '1.42'
205
205
  type: :runtime
206
206
  prerelease: false
207
207
  version_requirements: !ruby/object:Gem::Requirement
208
208
  requirements:
209
- - - ">="
209
+ - - "~>"
210
210
  - !ruby/object:Gem::Version
211
211
  version: '1.42'
212
- - - "~>"
212
+ - - ">="
213
213
  - !ruby/object:Gem::Version
214
214
  version: '1.42'
215
215
  - !ruby/object:Gem::Dependency
216
216
  name: aws-sdk-ecrpublic
217
217
  requirement: !ruby/object:Gem::Requirement
218
218
  requirements:
219
- - - ">="
219
+ - - "~>"
220
220
  - !ruby/object:Gem::Version
221
221
  version: '1.3'
222
- - - "~>"
222
+ - - ">="
223
223
  - !ruby/object:Gem::Version
224
224
  version: '1.3'
225
225
  type: :runtime
226
226
  prerelease: false
227
227
  version_requirements: !ruby/object:Gem::Requirement
228
228
  requirements:
229
- - - ">="
229
+ - - "~>"
230
230
  - !ruby/object:Gem::Version
231
231
  version: '1.3'
232
- - - "~>"
232
+ - - ">="
233
233
  - !ruby/object:Gem::Version
234
234
  version: '1.3'
235
235
  - !ruby/object:Gem::Dependency
236
236
  name: aws-sdk-ecs
237
237
  requirement: !ruby/object:Gem::Requirement
238
238
  requirements:
239
- - - ">="
239
+ - - "~>"
240
240
  - !ruby/object:Gem::Version
241
241
  version: '1.80'
242
- - - "~>"
242
+ - - ">="
243
243
  - !ruby/object:Gem::Version
244
244
  version: '1.80'
245
245
  type: :runtime
246
246
  prerelease: false
247
247
  version_requirements: !ruby/object:Gem::Requirement
248
248
  requirements:
249
- - - ">="
249
+ - - "~>"
250
250
  - !ruby/object:Gem::Version
251
251
  version: '1.80'
252
- - - "~>"
252
+ - - ">="
253
253
  - !ruby/object:Gem::Version
254
254
  version: '1.80'
255
255
  - !ruby/object:Gem::Dependency
@@ -270,40 +270,60 @@ dependencies:
270
270
  name: colorize
271
271
  requirement: !ruby/object:Gem::Requirement
272
272
  requirements:
273
- - - ">="
273
+ - - "~>"
274
274
  - !ruby/object:Gem::Version
275
275
  version: '0.8'
276
- - - "~>"
276
+ - - ">="
277
277
  - !ruby/object:Gem::Version
278
278
  version: '0.8'
279
279
  type: :runtime
280
280
  prerelease: false
281
281
  version_requirements: !ruby/object:Gem::Requirement
282
282
  requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: '0.8'
283
286
  - - ">="
284
287
  - !ruby/object:Gem::Version
285
288
  version: '0.8'
289
+ - !ruby/object:Gem::Dependency
290
+ name: json
291
+ requirement: !ruby/object:Gem::Requirement
292
+ requirements:
286
293
  - - "~>"
287
294
  - !ruby/object:Gem::Version
288
- version: '0.8'
295
+ version: '2.5'
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: '2.5'
299
+ type: :runtime
300
+ prerelease: false
301
+ version_requirements: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - "~>"
304
+ - !ruby/object:Gem::Version
305
+ version: '2.5'
306
+ - - ">="
307
+ - !ruby/object:Gem::Version
308
+ version: '2.5'
289
309
  - !ruby/object:Gem::Dependency
290
310
  name: terrapin
291
311
  requirement: !ruby/object:Gem::Requirement
292
312
  requirements:
293
- - - ">="
313
+ - - "~>"
294
314
  - !ruby/object:Gem::Version
295
315
  version: '0.6'
296
- - - "~>"
316
+ - - ">="
297
317
  - !ruby/object:Gem::Version
298
318
  version: '0.6'
299
319
  type: :runtime
300
320
  prerelease: false
301
321
  version_requirements: !ruby/object:Gem::Requirement
302
322
  requirements:
303
- - - ">="
323
+ - - "~>"
304
324
  - !ruby/object:Gem::Version
305
325
  version: '0.6'
306
- - - "~>"
326
+ - - ">="
307
327
  - !ruby/object:Gem::Version
308
328
  version: '0.6'
309
329
  description: A simple gem which make CI CD process easier for AWS ECS service
@@ -350,7 +370,7 @@ homepage: https://github.com/artempartos/ecs_helper
350
370
  licenses:
351
371
  - MIT
352
372
  metadata: {}
353
- post_install_message:
373
+ post_install_message:
354
374
  rdoc_options: []
355
375
  require_paths:
356
376
  - lib
@@ -365,8 +385,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
365
385
  - !ruby/object:Gem::Version
366
386
  version: '0'
367
387
  requirements: []
368
- rubygems_version: 3.0.3
369
- signing_key:
388
+ rubyforge_project:
389
+ rubygems_version: 2.7.6
390
+ signing_key:
370
391
  specification_version: 4
371
392
  summary: ECSHelper
372
393
  test_files: []