ecs_helper 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ecs_helper/client.rb +8 -2
- data/lib/ecs_helper/command/build_and_push.rb +12 -3
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 30d1b2b206fb9bcb80cc9fe9bb35359dbc4de0123e0d2a7a4dff79aa37cadfe3
|
4
|
+
data.tar.gz: 5fc0e17c2bd9d3e07cd9aca28c453fe57f248e511f54838b4998f492a9b2729c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d0484fc39baa8577017b0acb6ba1730bf6691e44893d2fa844495d9331dc37c4ca8a82e323e44f3d73d9bf0720459cbab23efb67328886a310a21754afe457b
|
7
|
+
data.tar.gz: be29a8a6547814bc3ec94e29bf97245ff0ea58812e44ef272347ccef9a185e53befe9cd3e9f85ebc65de503c4eb3a24c9676321df510c21fa6b8c885c4dd5fae
|
data/lib/ecs_helper/client.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
require 'aws-sdk-ecs'
|
2
2
|
require 'aws-sdk-ecr'
|
3
|
+
require 'aws-sdk-ecrpublic'
|
3
4
|
|
4
5
|
class ECSHelper::Client
|
5
|
-
attr_accessor :ecs, :ecr
|
6
|
+
attr_accessor :ecs, :ecr, :ecr_public
|
6
7
|
def initialize
|
7
8
|
@ecs = Aws::ECS::Client.new
|
8
9
|
@ecr = Aws::ECR::Client.new
|
10
|
+
@ecr_public = Aws::ECRPublic::Client.new
|
9
11
|
end
|
10
12
|
|
11
13
|
# ECS
|
@@ -47,10 +49,14 @@ class ECSHelper::Client
|
|
47
49
|
end
|
48
50
|
|
49
51
|
# ECR
|
50
|
-
def
|
52
|
+
def private_repositories(params = {})
|
51
53
|
ecr.describe_repositories(params).repositories
|
52
54
|
end
|
53
55
|
|
56
|
+
def public_repositories(params = {})
|
57
|
+
ecr_public.describe_repositories(params).repositories
|
58
|
+
end
|
59
|
+
|
54
60
|
def describe_images(params = {})
|
55
61
|
ecr.describe_images(params).image_details[0]
|
56
62
|
end
|
@@ -22,13 +22,20 @@ class ECSHelper::Command::BuildAndPush < ECSHelper::Command::Base
|
|
22
22
|
log("Command", type)
|
23
23
|
log("Options", options)
|
24
24
|
log("Repository", repository)
|
25
|
-
log("Auth",
|
25
|
+
log("Auth Private", auth_private)
|
26
|
+
log("Auth Public", auth_public)
|
26
27
|
log("Pull", pull)
|
27
28
|
log("Build", build)
|
28
29
|
log("Push", push)
|
29
30
|
end
|
30
31
|
|
31
|
-
def
|
32
|
+
def auth_public
|
33
|
+
auth_cmd = Terrapin::CommandLine.new("aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws")
|
34
|
+
auth_cmd.run
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
def auth_private
|
32
39
|
auth_cmd = Terrapin::CommandLine.new("aws ecr get-login --no-include-email | sh")
|
33
40
|
auth_cmd.run
|
34
41
|
end
|
@@ -72,7 +79,9 @@ class ECSHelper::Command::BuildAndPush < ECSHelper::Command::Base
|
|
72
79
|
|
73
80
|
def repository
|
74
81
|
@repository ||= begin
|
75
|
-
|
82
|
+
private_repos = client.private_repositories
|
83
|
+
public_repos = client.public_repositories
|
84
|
+
all = private_repos + public_repos
|
76
85
|
with_name = all.select { |r| r.repository_arn.include?(image_name) }
|
77
86
|
return with_name[0].repository_uri if with_name.length === 1
|
78
87
|
|
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.
|
4
|
+
version: 0.0.5
|
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-06-
|
11
|
+
date: 2021-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-ecs
|
@@ -50,6 +50,26 @@ dependencies:
|
|
50
50
|
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: '1.42'
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: aws-sdk-ecrpublic
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '1.3'
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '1.3'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.3'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '1.3'
|
53
73
|
- !ruby/object:Gem::Dependency
|
54
74
|
name: json
|
55
75
|
requirement: !ruby/object:Gem::Requirement
|