ecs_helper 0.0.24 → 0.0.25

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: 94ec8bc777deff0ff480a06146d0ba2279e43cb69ee8022298ddb1205c97ac12
4
- data.tar.gz: d9ecf4394985744a91936dfba1c08c245e889297c1ba8c70153b7a6f82d080a8
3
+ metadata.gz: 6fcdfa5ea72481d6e07bea7f9bf9ec044ca79ece2c680233f538ed7a4e3a7683
4
+ data.tar.gz: de5b3ea5643b878c6c27989d8fce5a87771c3da25fef2968494fccd422e0774d
5
5
  SHA512:
6
- metadata.gz: c043ec8866cdc97ddea947ef173299cd0bf5664eb9c2e9fbc7a5ecb6dff0d93f8321a9ea15bf99a73f1ad688d613f933a6996920598ad7c34bfa398295189a35
7
- data.tar.gz: 3f853cb33f3d091367210e1a08fe1dcf0594cde62d4c490213ae85035b475970a815228817d43c50efa6e7cc30b582a2ecdfb817ffe9fb617bc72b44f5dd00aa
6
+ metadata.gz: 5061f5c736a06834cfd0486891b82aa5d93cd0938acb9d7c8f8e492e01269b4ee6aac18a5d73a1eeacbb5a8c0ee45c34ea31d358a1729cfc8def3771c7a77d6b
7
+ data.tar.gz: 4c488f4fc1b8badd9a82cee368dc1f21a7b505f047daa16ca51cf93f29e2559211d54a406ef2e05a6c3ffc39bf87d0192595129f7db871d2e0b70b00e0a925f9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ecs_helper (0.0.23)
4
+ ecs_helper (0.0.24)
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)
@@ -45,9 +45,14 @@ GEM
45
45
  json (2.5.1)
46
46
  method_source (1.0.0)
47
47
  minitest (5.14.4)
48
+ minitest-power_assert (0.3.1)
49
+ minitest
50
+ power_assert (>= 1.1)
51
+ mocha (1.13.0)
48
52
  parallel (1.20.1)
49
53
  parser (3.0.2.0)
50
54
  ast (~> 2.4.1)
55
+ power_assert (2.0.1)
51
56
  pry (0.14.1)
52
57
  coderay (~> 1.1)
53
58
  method_source (~> 1.0)
@@ -93,6 +98,8 @@ DEPENDENCIES
93
98
  bundler (~> 2.2)
94
99
  ecs_helper!
95
100
  minitest
101
+ minitest-power_assert
102
+ mocha
96
103
  pry
97
104
  pry-byebug
98
105
  pry-inline
data/bin/ecs_helper CHANGED
@@ -3,5 +3,10 @@
3
3
 
4
4
  require 'ecs_helper'
5
5
 
6
- helper = ECSHelper.new
7
- helper.run
6
+ begin
7
+ helper = ECSHelper.new
8
+ helper.run
9
+ rescue ECSHelper::Error::Base => e
10
+ puts e.message
11
+ exit 1
12
+ end
data/docker-compose.yml CHANGED
@@ -20,6 +20,7 @@ services:
20
20
  - BUNDLE_PATH=/bundle_cache
21
21
  - GEM_HOME=/bundle_cache
22
22
  - GEM_PATH=/bundle_cache
23
+ - SKIP_LOGS=true
23
24
 
24
25
  bundle_cache:
25
26
  image: busybox
data/ecs_helper.gemspec CHANGED
@@ -21,7 +21,9 @@ Gem::Specification.new do |s|
21
21
 
22
22
  s.add_development_dependency 'awesome_print'
23
23
  s.add_development_dependency 'minitest'
24
+ s.add_development_dependency 'mocha'
24
25
  s.add_development_dependency 'pry'
26
+ s.add_development_dependency 'minitest-power_assert'
25
27
  s.add_development_dependency 'pry-byebug'
26
28
  s.add_development_dependency 'pry-inline'
27
29
  s.add_development_dependency 'rubocop'
@@ -1,13 +1,11 @@
1
1
  require 'aws-sdk-ecs'
2
2
  require 'aws-sdk-ecr'
3
- require 'aws-sdk-ecrpublic'
4
3
 
5
4
  class ECSHelper::Client
6
- attr_accessor :ecs, :ecr, :ecr_public
5
+ attr_accessor :ecs, :ecr
7
6
  def initialize
8
7
  @ecs = Aws::ECS::Client.new
9
8
  @ecr = Aws::ECR::Client.new
10
- @ecr_public = Aws::ECRPublic::Client.new
11
9
  end
12
10
 
13
11
  # ECS
@@ -61,10 +59,6 @@ class ECSHelper::Client
61
59
  ecr.describe_repositories(params).repositories
62
60
  end
63
61
 
64
- def public_repositories(params = {})
65
- ecr_public.describe_repositories(params).repositories
66
- end
67
-
68
62
  def describe_images(params = {})
69
63
  ecr.describe_images(params).image_details[0]
70
64
  end
@@ -17,6 +17,14 @@ class ECSHelper::Command::Base
17
17
  helper.type
18
18
  end
19
19
 
20
+ def project
21
+ helper.project
22
+ end
23
+
24
+ def application
25
+ helper.application
26
+ end
27
+
20
28
  def validate
21
29
  required.each do |r|
22
30
  value = options[r]
@@ -55,7 +55,7 @@ class ECSHelper::Command::BuildAndPush < ECSHelper::Command::Base
55
55
  pull_cmd = Terrapin::CommandLine.new("docker pull #{latest_tag}")
56
56
  pull_cmd.run
57
57
  rescue Terrapin::ExitStatusError => e
58
- puts e.message
58
+ console e.message
59
59
  end
60
60
 
61
61
  def build
@@ -66,7 +66,7 @@ class ECSHelper::Command::BuildAndPush < ECSHelper::Command::Base
66
66
  command = (build_command + build_args + cache_command + tags_command).join(' ')
67
67
  build_cmd = Terrapin::CommandLine.new(command)
68
68
 
69
- puts "Building with two tags: #{latest_tag} & #{version_tag}"
69
+ console "Building with two tags: #{latest_tag} & #{version_tag}"
70
70
  build_cmd.run
71
71
  end
72
72
 
@@ -93,6 +93,14 @@ class ECSHelper::Command::BuildAndPush < ECSHelper::Command::Base
93
93
  "#{repository}:#{helper.version}"
94
94
  end
95
95
 
96
+ def project
97
+ helper.project
98
+ end
99
+
100
+ def application
101
+ helper.application
102
+ end
103
+
96
104
  def repository
97
105
  @repository ||= begin
98
106
  all = client.private_repositories
@@ -26,10 +26,12 @@ class ECSHelper::Command
26
26
 
27
27
  def klass
28
28
  CMD_MAPPING[type] || begin
29
- puts "Command not found".light_white
30
- puts "Available commands are #{AVAILABLE_COMMANDS}".light_white
31
- puts global_option_parser
32
- exit
29
+ messages = [
30
+ "Command not found".light_white,
31
+ "Available commands are #{AVAILABLE_COMMANDS}".light_white,
32
+ global_option_parser
33
+ ]
34
+ raise ECSHelper::Error::CommandNotFound.new(messages)
33
35
  end
34
36
  end
35
37
 
@@ -0,0 +1,10 @@
1
+ class ECSHelper::Error::Base < StandardError
2
+ def initialize(builder)
3
+ @builder = builder
4
+ end
5
+
6
+ def message
7
+ return @builder.join("\n") if @builder
8
+ "Failed"
9
+ end
10
+ end
@@ -0,0 +1,2 @@
1
+ class ECSHelper::Error::CommandNotFound < ECSHelper::Error::Base
2
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ECSHelper::Error
4
+ autoload :Base, 'ecs_helper/error/base'
5
+ autoload :CommandNotFound, 'ecs_helper/error/command_not_found'
6
+ end
@@ -1,16 +1,20 @@
1
1
  module ECSHelper::Logging
2
+ def console(message)
3
+ puts message if ENV["SKIP_LOGS"].nil?
4
+ end
5
+
2
6
  def log(title, message = nil, color = "light_white")
3
7
  if message
4
- puts title.send(color)
5
- puts message
8
+ console title.send(color)
9
+ console message
6
10
  else
7
- puts title
11
+ console title
8
12
  end
9
13
  end
10
14
 
11
15
  def error(message, code = 1)
12
- puts "Error".red
13
- puts message
16
+ console "Error".red
17
+ console message
14
18
  exit code
15
19
  end
16
20
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class ECSHelper
4
- VERSION = '0.0.24'
4
+ VERSION = '0.0.25'
5
5
  end
data/lib/ecs_helper.rb CHANGED
@@ -11,6 +11,7 @@ class ECSHelper
11
11
  autoload :ClusterHelper, 'ecs_helper/cluster_helper'
12
12
  autoload :ServiceHelper, 'ecs_helper/service_helper'
13
13
  autoload :TaskDefinitionHelper, 'ecs_helper/task_definition_helper'
14
+ autoload :Error, 'ecs_helper/error'
14
15
  autoload :Command, 'ecs_helper/command'
15
16
 
16
17
  def_delegators :client, :task_definitions, :clusters, :services, :tasks, :repositories, :repositories, :task_definition, :run_task
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.24
4
+ version: 0.0.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Petrov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-06 00:00:00.000000000 Z
11
+ date: 2021-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: mocha
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: pry
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,20 @@ dependencies:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest-power_assert
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: pry-byebug
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -297,6 +325,9 @@ files:
297
325
  - lib/ecs_helper/command/export_images.rb
298
326
  - lib/ecs_helper/command/run_command.rb
299
327
  - lib/ecs_helper/common_helper.rb
328
+ - lib/ecs_helper/error.rb
329
+ - lib/ecs_helper/error/base.rb
330
+ - lib/ecs_helper/error/command_not_found.rb
300
331
  - lib/ecs_helper/logging.rb
301
332
  - lib/ecs_helper/service_helper.rb
302
333
  - lib/ecs_helper/task_definition_helper.rb