ecs_helper 0.0.24 → 0.0.25

Sign up to get free protection for your applications and to get access to all the features.
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