ecs_helper 0.0.20 → 0.0.21
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/.gitignore +13 -0
- data/Dockerfile +15 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +126 -0
- data/Rakefile +12 -0
- data/bin/console +12 -0
- data/bin/ecs_helper +3 -1
- data/docker-compose.yml +31 -0
- data/ecs_helper.gemspec +39 -0
- data/lib/ecs_helper/command/build_and_push.rb +29 -16
- data/lib/ecs_helper/command/export_images.rb +1 -0
- data/lib/ecs_helper/command.rb +0 -22
- data/lib/ecs_helper/version.rb +5 -0
- metadata +150 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a134e023494ab0c6d2ba533f5a377f2c9e0a1328239001e776b6523f27dcad80
|
|
4
|
+
data.tar.gz: 2fa77ec7e58de90005f3ebfbf099011adf4c22e2f3325a19d86ed01c7fb6be65
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8b6eef42ab91d82356fd191d2175cc09ad44d68ad0f394ca933db747c23c0f0a1b28158a2f6104c0a1d661fd7c7cbf152d8f13659bb91efe6cefb2b7cce71ad8
|
|
7
|
+
data.tar.gz: 90a2aa25b21c4d33636663729c93c7724552730a575de445880326a36a8b762dc35c38f91a6c03a2054e4205030a6464e87060af2efa30591adf5f1e532d3525
|
data/.gitignore
ADDED
data/Dockerfile
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
FROM ruby:3.0.2-alpine3.12
|
|
2
|
+
|
|
3
|
+
RUN apk update && apk upgrade
|
|
4
|
+
RUN apk add bash
|
|
5
|
+
RUN apk add curl-dev ruby-dev build-base git curl ruby-json openssl apache2-utils sqlite-libs sqlite sqlite-dev
|
|
6
|
+
|
|
7
|
+
RUN mkdir -p /gem
|
|
8
|
+
WORKDIR /gem
|
|
9
|
+
|
|
10
|
+
COPY lib/ecs_helper/version.rb /gem/lib/ecs_helper/
|
|
11
|
+
COPY ecs_helper.gemspec /gem/
|
|
12
|
+
COPY Gemfile* /gem/
|
|
13
|
+
RUN bundle install --jobs 4
|
|
14
|
+
|
|
15
|
+
COPY . /gem
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
ecs_helper (0.0.21)
|
|
5
|
+
aws-sdk-ecr (~> 1.42, >= 1.42)
|
|
6
|
+
aws-sdk-ecrpublic (~> 1.3, >= 1.3)
|
|
7
|
+
aws-sdk-ecs (~> 1.80, >= 1.80)
|
|
8
|
+
colorize (~> 0.8, >= 0.8)
|
|
9
|
+
json (~> 2.5, >= 2.5)
|
|
10
|
+
rake
|
|
11
|
+
terrapin (~> 0.6, >= 0.6)
|
|
12
|
+
|
|
13
|
+
GEM
|
|
14
|
+
remote: https://rubygems.org/
|
|
15
|
+
specs:
|
|
16
|
+
addressable (2.8.0)
|
|
17
|
+
public_suffix (>= 2.0.2, < 5.0)
|
|
18
|
+
ast (2.4.2)
|
|
19
|
+
awesome_print (1.9.2)
|
|
20
|
+
aws-eventstream (1.2.0)
|
|
21
|
+
aws-partitions (1.494.0)
|
|
22
|
+
aws-sdk-core (3.120.0)
|
|
23
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
|
24
|
+
aws-partitions (~> 1, >= 1.239.0)
|
|
25
|
+
aws-sigv4 (~> 1.1)
|
|
26
|
+
jmespath (~> 1.0)
|
|
27
|
+
aws-sdk-ecr (1.45.0)
|
|
28
|
+
aws-sdk-core (~> 3, >= 3.120.0)
|
|
29
|
+
aws-sigv4 (~> 1.1)
|
|
30
|
+
aws-sdk-ecrpublic (1.6.0)
|
|
31
|
+
aws-sdk-core (~> 3, >= 3.120.0)
|
|
32
|
+
aws-sigv4 (~> 1.1)
|
|
33
|
+
aws-sdk-ecs (1.85.0)
|
|
34
|
+
aws-sdk-core (~> 3, >= 3.120.0)
|
|
35
|
+
aws-sigv4 (~> 1.1)
|
|
36
|
+
aws-sigv4 (1.3.0)
|
|
37
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
|
38
|
+
byebug (11.1.3)
|
|
39
|
+
climate_control (0.2.0)
|
|
40
|
+
coderay (1.1.3)
|
|
41
|
+
colorize (0.8.1)
|
|
42
|
+
coveralls (0.8.23)
|
|
43
|
+
json (>= 1.8, < 3)
|
|
44
|
+
simplecov (~> 0.16.1)
|
|
45
|
+
term-ansicolor (~> 1.3)
|
|
46
|
+
thor (>= 0.19.4, < 2.0)
|
|
47
|
+
tins (~> 1.6)
|
|
48
|
+
crack (0.4.5)
|
|
49
|
+
rexml
|
|
50
|
+
docile (1.4.0)
|
|
51
|
+
hashdiff (1.0.1)
|
|
52
|
+
jmespath (1.4.0)
|
|
53
|
+
json (2.5.1)
|
|
54
|
+
method_source (1.0.0)
|
|
55
|
+
minitest (5.14.4)
|
|
56
|
+
parallel (1.20.1)
|
|
57
|
+
parser (3.0.2.0)
|
|
58
|
+
ast (~> 2.4.1)
|
|
59
|
+
pry (0.13.1)
|
|
60
|
+
coderay (~> 1.1)
|
|
61
|
+
method_source (~> 1.0)
|
|
62
|
+
pry-byebug (3.9.0)
|
|
63
|
+
byebug (~> 11.0)
|
|
64
|
+
pry (~> 0.13.0)
|
|
65
|
+
pry-inline (1.0.7)
|
|
66
|
+
pry (> 0.10.0)
|
|
67
|
+
unicode (~> 0.4.4)
|
|
68
|
+
public_suffix (4.0.6)
|
|
69
|
+
rainbow (3.0.0)
|
|
70
|
+
rake (13.0.6)
|
|
71
|
+
regexp_parser (2.1.1)
|
|
72
|
+
rexml (3.2.5)
|
|
73
|
+
rubocop (1.20.0)
|
|
74
|
+
parallel (~> 1.10)
|
|
75
|
+
parser (>= 3.0.0.0)
|
|
76
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
77
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
78
|
+
rexml
|
|
79
|
+
rubocop-ast (>= 1.9.1, < 2.0)
|
|
80
|
+
ruby-progressbar (~> 1.7)
|
|
81
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
82
|
+
rubocop-ast (1.11.0)
|
|
83
|
+
parser (>= 3.0.1.1)
|
|
84
|
+
rubocop-minitest (0.15.0)
|
|
85
|
+
rubocop (>= 0.90, < 2.0)
|
|
86
|
+
ruby-progressbar (1.11.0)
|
|
87
|
+
simplecov (0.16.1)
|
|
88
|
+
docile (~> 1.1)
|
|
89
|
+
json (>= 1.8, < 3)
|
|
90
|
+
simplecov-html (~> 0.10.0)
|
|
91
|
+
simplecov-html (0.10.2)
|
|
92
|
+
sync (0.5.0)
|
|
93
|
+
term-ansicolor (1.7.1)
|
|
94
|
+
tins (~> 1.0)
|
|
95
|
+
terrapin (0.6.0)
|
|
96
|
+
climate_control (>= 0.0.3, < 1.0)
|
|
97
|
+
thor (1.1.0)
|
|
98
|
+
tins (1.29.1)
|
|
99
|
+
sync
|
|
100
|
+
unicode (0.4.4.4)
|
|
101
|
+
unicode-display_width (2.0.0)
|
|
102
|
+
webmock (3.14.0)
|
|
103
|
+
addressable (>= 2.8.0)
|
|
104
|
+
crack (>= 0.3.2)
|
|
105
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
|
106
|
+
|
|
107
|
+
PLATFORMS
|
|
108
|
+
x86_64-linux-musl
|
|
109
|
+
|
|
110
|
+
DEPENDENCIES
|
|
111
|
+
awesome_print
|
|
112
|
+
coveralls
|
|
113
|
+
ecs_helper!
|
|
114
|
+
minitest
|
|
115
|
+
pry
|
|
116
|
+
pry-byebug
|
|
117
|
+
pry-inline
|
|
118
|
+
rubocop
|
|
119
|
+
rubocop-minitest
|
|
120
|
+
webmock
|
|
121
|
+
|
|
122
|
+
RUBY VERSION
|
|
123
|
+
ruby 3.0.2p107
|
|
124
|
+
|
|
125
|
+
BUNDLED WITH
|
|
126
|
+
2.2.22
|
data/Rakefile
ADDED
data/bin/console
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require 'bundler/setup'
|
|
5
|
+
require 'ecs_helper'
|
|
6
|
+
|
|
7
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
|
8
|
+
# with your gem easier. You can also use a different console, if you like.
|
|
9
|
+
|
|
10
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
|
11
|
+
require 'pry'
|
|
12
|
+
Pry.start
|
data/bin/ecs_helper
CHANGED
data/docker-compose.yml
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
version: "3.7"
|
|
2
|
+
|
|
3
|
+
services:
|
|
4
|
+
gem:
|
|
5
|
+
build: .
|
|
6
|
+
volumes:
|
|
7
|
+
- ./:/gem:cached
|
|
8
|
+
- ~/.ssh:/root/.ssh
|
|
9
|
+
- ~/.bash_history:/root/.bash_history
|
|
10
|
+
- ~/.pryrc:/root/.pryrc
|
|
11
|
+
- bundle_cache:/bundle_cache
|
|
12
|
+
environment:
|
|
13
|
+
- AWS_REGION
|
|
14
|
+
- AWS_DEFAULT_REGION
|
|
15
|
+
- AWS_ACCESS_KEY_ID
|
|
16
|
+
- AWS_SECRET_ACCESS_KEY
|
|
17
|
+
- AWS_SESSION_TOKEN
|
|
18
|
+
- AWS_SECURITY_TOKEN
|
|
19
|
+
- AWS_SESSION_EXPIRATION
|
|
20
|
+
- BUNDLE_PATH=/bundle_cache
|
|
21
|
+
- GEM_HOME=/bundle_cache
|
|
22
|
+
- GEM_PATH=/bundle_cache
|
|
23
|
+
|
|
24
|
+
bundle_cache:
|
|
25
|
+
image: busybox
|
|
26
|
+
volumes:
|
|
27
|
+
- bundle_cache:/bundle_cache
|
|
28
|
+
|
|
29
|
+
volumes:
|
|
30
|
+
bundle_cache:
|
|
31
|
+
public:
|
data/ecs_helper.gemspec
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
|
+
require 'ecs_helper/version'
|
|
6
|
+
|
|
7
|
+
Gem::Specification.new do |s|
|
|
8
|
+
s.name = 'ecs_helper'
|
|
9
|
+
s.version = ECSHelper::VERSION
|
|
10
|
+
s.summary = 'ECSHelper'
|
|
11
|
+
s.description = 'A simple gem which make CI CD process easier for AWS ECS service'
|
|
12
|
+
s.authors = ['Artem Petrov']
|
|
13
|
+
s.email = 'artem.petrov@dualbootpartners.com'
|
|
14
|
+
s.files = Dir['lib/**/*.rb']
|
|
15
|
+
s.bindir = 'bin'
|
|
16
|
+
s.executables << 'ecs_helper'
|
|
17
|
+
s.homepage = 'https://github.com/artempartos/ecs_helper'
|
|
18
|
+
s.license = 'MIT'
|
|
19
|
+
s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
20
|
+
s.require_paths = ['lib']
|
|
21
|
+
|
|
22
|
+
s.add_development_dependency 'awesome_print'
|
|
23
|
+
s.add_development_dependency 'minitest'
|
|
24
|
+
s.add_development_dependency 'pry'
|
|
25
|
+
s.add_development_dependency 'pry-byebug'
|
|
26
|
+
s.add_development_dependency 'pry-inline'
|
|
27
|
+
s.add_development_dependency 'rubocop'
|
|
28
|
+
s.add_development_dependency 'rubocop-minitest'
|
|
29
|
+
s.add_development_dependency 'webmock'
|
|
30
|
+
|
|
31
|
+
s.add_runtime_dependency 'aws-sdk-ecr', '~> 1.42', '>= 1.42'
|
|
32
|
+
s.add_runtime_dependency 'aws-sdk-ecrpublic', '~> 1.3', '>= 1.3'
|
|
33
|
+
s.add_runtime_dependency 'aws-sdk-ecs', '~> 1.80', '>= 1.80'
|
|
34
|
+
s.add_runtime_dependency 'colorize', '~> 0.8', '>= 0.8'
|
|
35
|
+
s.add_runtime_dependency 'json', '~> 2.5', '>= 2.5'
|
|
36
|
+
s.add_runtime_dependency 'terrapin', '~> 0.6', '>= 0.6'
|
|
37
|
+
|
|
38
|
+
s.add_dependency 'rake'
|
|
39
|
+
end
|
|
@@ -1,16 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'terrapin'
|
|
2
4
|
|
|
3
5
|
class ECSHelper::Command::BuildAndPush < ECSHelper::Command::Base
|
|
4
|
-
|
|
5
6
|
def cmd_option_parser
|
|
6
|
-
options = {}
|
|
7
|
+
options = { build_args: [] }
|
|
7
8
|
parser = ::OptionParser.new do |opts|
|
|
8
|
-
opts.banner =
|
|
9
|
-
opts.on(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
opts.on(
|
|
9
|
+
opts.banner = 'Usage: ecs_helper build_and_push [options]'
|
|
10
|
+
opts.on('-i VALUE', '--image VALUE',
|
|
11
|
+
'Set image name, will be used to detect ecr repo where to push image, for example web/nginx/toolbox (required)') do |c|
|
|
12
|
+
options[:image] = processEqual(c)
|
|
13
|
+
end
|
|
14
|
+
opts.on('-d VALUE', '--directory VALUE', "Set directory for dockerfile and context, default = './'") do |c|
|
|
15
|
+
options[:directory] = processEqual(c)
|
|
16
|
+
end
|
|
17
|
+
opts.on('-p VALUE', '--project VALUE',
|
|
18
|
+
"Set project name, if not specified will look at ENV['PROJECT'], will be used to detect cluster") do |p|
|
|
19
|
+
options[:project] = processEqual(p)
|
|
20
|
+
end
|
|
21
|
+
opts.on('-a VALUE', '--application VALUE',
|
|
22
|
+
"Set application name, if not specified will look at ENV['APPLICATION'], will be used to detect service and task definition") do |a|
|
|
23
|
+
options[:application] = processEqual(a)
|
|
24
|
+
end
|
|
25
|
+
opts.on('-c', '--cache', 'Cache image before build, default false') { options[:cache] = true }
|
|
26
|
+
opts.on('--build-arg=VALUE', 'Pass --build-arg to the build command') { |o| options[:build_args] << o }
|
|
14
27
|
end
|
|
15
28
|
[parser, options]
|
|
16
29
|
end
|
|
@@ -30,7 +43,7 @@ class ECSHelper::Command::BuildAndPush < ECSHelper::Command::Base
|
|
|
30
43
|
end
|
|
31
44
|
|
|
32
45
|
def auth_private
|
|
33
|
-
auth_cmd = Terrapin::CommandLine.new(
|
|
46
|
+
auth_cmd = Terrapin::CommandLine.new('aws ecr get-login --no-include-email | sh')
|
|
34
47
|
auth_cmd.run
|
|
35
48
|
end
|
|
36
49
|
|
|
@@ -47,10 +60,12 @@ class ECSHelper::Command::BuildAndPush < ECSHelper::Command::Base
|
|
|
47
60
|
|
|
48
61
|
def build
|
|
49
62
|
build_command = ["docker build #{directory}"]
|
|
63
|
+
build_args = options[:build_args].map { |a| "--build-arg=#{a}" }
|
|
50
64
|
cache_command = should_cache? ? ["--cache-from #{latest_tag}"] : []
|
|
51
65
|
tags_command = ["--tag #{latest_tag} --tag #{version_tag}"]
|
|
52
|
-
command = (build_command + cache_command + tags_command).join(' ')
|
|
66
|
+
command = (build_command + build_args + cache_command + tags_command).join(' ')
|
|
53
67
|
build_cmd = Terrapin::CommandLine.new(command)
|
|
68
|
+
|
|
54
69
|
puts "Building with two tags: #{latest_tag} & #{version_tag}"
|
|
55
70
|
build_cmd.run
|
|
56
71
|
end
|
|
@@ -67,7 +82,7 @@ class ECSHelper::Command::BuildAndPush < ECSHelper::Command::Base
|
|
|
67
82
|
end
|
|
68
83
|
|
|
69
84
|
def directory
|
|
70
|
-
options[:directory] ||
|
|
85
|
+
options[:directory] || './'
|
|
71
86
|
end
|
|
72
87
|
|
|
73
88
|
def latest_tag
|
|
@@ -78,12 +93,10 @@ class ECSHelper::Command::BuildAndPush < ECSHelper::Command::Base
|
|
|
78
93
|
"#{repository}:#{helper.version}"
|
|
79
94
|
end
|
|
80
95
|
|
|
81
|
-
|
|
82
96
|
def repository
|
|
83
97
|
@repository ||= begin
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
all = private_repos + public_repos
|
|
98
|
+
all = client.private_repositories
|
|
99
|
+
|
|
87
100
|
with_name = all.select { |r| r.repository_arn.include?(image_name) }
|
|
88
101
|
return with_name[0].repository_uri if with_name.length === 1
|
|
89
102
|
|
|
@@ -93,4 +106,4 @@ class ECSHelper::Command::BuildAndPush < ECSHelper::Command::Base
|
|
|
93
106
|
raise "Can't detect ECR repository"
|
|
94
107
|
end
|
|
95
108
|
end
|
|
96
|
-
end
|
|
109
|
+
end
|
|
@@ -31,6 +31,7 @@ class ECSHelper::Command::ExportImages < ECSHelper::Command::Base
|
|
|
31
31
|
def export_images
|
|
32
32
|
variables = (['export'] + client.private_repositories.map do |repo|
|
|
33
33
|
container_name = repo.repository_name.scan(/#{project}-#{application}-(.*)/).flatten.first
|
|
34
|
+
next if conainer_name.nil?
|
|
34
35
|
key = container_name.upcase.gsub("-", "_") + "_IMAGE"
|
|
35
36
|
value = "#{repo.repository_uri}:#{helper.version}"
|
|
36
37
|
"#{key}=#{value}"
|
data/lib/ecs_helper/command.rb
CHANGED
|
@@ -48,25 +48,3 @@ def global_option_parser
|
|
|
48
48
|
opts.banner = "Usage: ecs_helper command [options]"
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
def self.parse
|
|
54
|
-
options = {}
|
|
55
|
-
command = ARGV.shift
|
|
56
|
-
|
|
57
|
-
unless command && Command::AVAILABLE_COMMANDS.include?(command)
|
|
58
|
-
puts "Command not found".light_white
|
|
59
|
-
puts "Available commands are #{Command::AVAILABLE_COMMANDS}".light_white
|
|
60
|
-
puts global
|
|
61
|
-
exit
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
subcommands_parser, required = subcommands(command, options)
|
|
65
|
-
subcommands_parser.permute!(into: options)
|
|
66
|
-
|
|
67
|
-
validate(command, options, required, subcommands_parser)
|
|
68
|
-
|
|
69
|
-
[command, options]
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
|
metadata
CHANGED
|
@@ -1,35 +1,127 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ecs_helper
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.21
|
|
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-
|
|
11
|
+
date: 2021-09-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: awesome_print
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
20
|
-
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
21
25
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '
|
|
23
|
-
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: minitest
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :development
|
|
24
35
|
prerelease: false
|
|
25
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
37
|
requirements:
|
|
27
38
|
- - ">="
|
|
28
39
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '
|
|
30
|
-
|
|
40
|
+
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: pry
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ">="
|
|
31
46
|
- !ruby/object:Gem::Version
|
|
32
|
-
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'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: pry-byebug
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: pry-inline
|
|
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'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: rubocop
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: rubocop-minitest
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: webmock
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - ">="
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0'
|
|
33
125
|
- !ruby/object:Gem::Dependency
|
|
34
126
|
name: aws-sdk-ecr
|
|
35
127
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -71,25 +163,25 @@ dependencies:
|
|
|
71
163
|
- !ruby/object:Gem::Version
|
|
72
164
|
version: '1.3'
|
|
73
165
|
- !ruby/object:Gem::Dependency
|
|
74
|
-
name:
|
|
166
|
+
name: aws-sdk-ecs
|
|
75
167
|
requirement: !ruby/object:Gem::Requirement
|
|
76
168
|
requirements:
|
|
77
169
|
- - ">="
|
|
78
170
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: '
|
|
171
|
+
version: '1.80'
|
|
80
172
|
- - "~>"
|
|
81
173
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
174
|
+
version: '1.80'
|
|
83
175
|
type: :runtime
|
|
84
176
|
prerelease: false
|
|
85
177
|
version_requirements: !ruby/object:Gem::Requirement
|
|
86
178
|
requirements:
|
|
87
179
|
- - ">="
|
|
88
180
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
181
|
+
version: '1.80'
|
|
90
182
|
- - "~>"
|
|
91
183
|
- !ruby/object:Gem::Version
|
|
92
|
-
version: '
|
|
184
|
+
version: '1.80'
|
|
93
185
|
- !ruby/object:Gem::Dependency
|
|
94
186
|
name: colorize
|
|
95
187
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -110,6 +202,26 @@ dependencies:
|
|
|
110
202
|
- - "~>"
|
|
111
203
|
- !ruby/object:Gem::Version
|
|
112
204
|
version: '0.8'
|
|
205
|
+
- !ruby/object:Gem::Dependency
|
|
206
|
+
name: json
|
|
207
|
+
requirement: !ruby/object:Gem::Requirement
|
|
208
|
+
requirements:
|
|
209
|
+
- - ">="
|
|
210
|
+
- !ruby/object:Gem::Version
|
|
211
|
+
version: '2.5'
|
|
212
|
+
- - "~>"
|
|
213
|
+
- !ruby/object:Gem::Version
|
|
214
|
+
version: '2.5'
|
|
215
|
+
type: :runtime
|
|
216
|
+
prerelease: false
|
|
217
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
218
|
+
requirements:
|
|
219
|
+
- - ">="
|
|
220
|
+
- !ruby/object:Gem::Version
|
|
221
|
+
version: '2.5'
|
|
222
|
+
- - "~>"
|
|
223
|
+
- !ruby/object:Gem::Version
|
|
224
|
+
version: '2.5'
|
|
113
225
|
- !ruby/object:Gem::Dependency
|
|
114
226
|
name: terrapin
|
|
115
227
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -130,6 +242,20 @@ dependencies:
|
|
|
130
242
|
- - "~>"
|
|
131
243
|
- !ruby/object:Gem::Version
|
|
132
244
|
version: '0.6'
|
|
245
|
+
- !ruby/object:Gem::Dependency
|
|
246
|
+
name: rake
|
|
247
|
+
requirement: !ruby/object:Gem::Requirement
|
|
248
|
+
requirements:
|
|
249
|
+
- - ">="
|
|
250
|
+
- !ruby/object:Gem::Version
|
|
251
|
+
version: '0'
|
|
252
|
+
type: :runtime
|
|
253
|
+
prerelease: false
|
|
254
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
255
|
+
requirements:
|
|
256
|
+
- - ">="
|
|
257
|
+
- !ruby/object:Gem::Version
|
|
258
|
+
version: '0'
|
|
133
259
|
description: A simple gem which make CI CD process easier for AWS ECS service
|
|
134
260
|
email: artem.petrov@dualbootpartners.com
|
|
135
261
|
executables:
|
|
@@ -137,7 +263,15 @@ executables:
|
|
|
137
263
|
extensions: []
|
|
138
264
|
extra_rdoc_files: []
|
|
139
265
|
files:
|
|
266
|
+
- ".gitignore"
|
|
267
|
+
- Dockerfile
|
|
268
|
+
- Gemfile
|
|
269
|
+
- Gemfile.lock
|
|
270
|
+
- Rakefile
|
|
271
|
+
- bin/console
|
|
140
272
|
- bin/ecs_helper
|
|
273
|
+
- docker-compose.yml
|
|
274
|
+
- ecs_helper.gemspec
|
|
141
275
|
- lib/ecs_helper.rb
|
|
142
276
|
- lib/ecs_helper/client.rb
|
|
143
277
|
- lib/ecs_helper/cluster_helper.rb
|
|
@@ -152,6 +286,7 @@ files:
|
|
|
152
286
|
- lib/ecs_helper/logging.rb
|
|
153
287
|
- lib/ecs_helper/service_helper.rb
|
|
154
288
|
- lib/ecs_helper/task_definition_helper.rb
|
|
289
|
+
- lib/ecs_helper/version.rb
|
|
155
290
|
homepage: https://github.com/artempartos/ecs_helper
|
|
156
291
|
licenses:
|
|
157
292
|
- MIT
|