tagfish 1.0.2 → 1.0.3
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/Dockerfile +8 -7
- data/README.md +1 -1
- data/lib/tagfish/docker_registry_client.rb +1 -1
- data/lib/tagfish/docker_registry_v1_client.rb +5 -1
- data/lib/tagfish/docker_registry_v2_client.rb +10 -2
- data/lib/tagfish/search_command.rb +2 -23
- data/lib/tagfish/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6fb471e5b081c224d9b4bb912c3ca21df946219a
|
4
|
+
data.tar.gz: 1353e52d8ecbf84bcebfedeb7c3b31b10aa90e78
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 934cf9b78b229004aea5bb8629b5b2d70590886fe939ef69c1a54dc1916505f10d07f49c140c0b1a53219847c20a67d48c6ff2fd3592b4e4af2a2f82b9b7bf72
|
7
|
+
data.tar.gz: 6ec54816b4cd95d9b58621d705a06c46505fbf99e788e373d5a42f2c2479d3097246cbb38de31ccbb29898a221e19bdab4259a4094a76652915d1c3a9ba33aaf
|
data/Dockerfile
CHANGED
@@ -1,23 +1,24 @@
|
|
1
|
-
FROM alpine:
|
1
|
+
FROM alpine:3.3
|
2
2
|
MAINTAINER Clement Labbe <clement.labbe@rea-group.com>
|
3
3
|
|
4
|
-
RUN apk add --update ruby
|
5
|
-
ruby-dev
|
6
|
-
ruby-io-console
|
4
|
+
RUN apk add --update ruby \
|
5
|
+
ruby-dev \
|
6
|
+
ruby-io-console \
|
7
7
|
diffutils \
|
8
8
|
linux-headers \
|
9
9
|
build-base \
|
10
|
-
ca-certificates
|
10
|
+
ca-certificates && \
|
11
11
|
rm /var/cache/apk/* && \
|
12
12
|
rm -rf /usr/share/ri
|
13
13
|
|
14
14
|
RUN echo -e 'gem: --no-rdoc --no-ri' > /etc/gemrc && \
|
15
|
-
gem update --system
|
16
|
-
gem install bundler
|
15
|
+
gem update --system && \
|
16
|
+
gem install bundler && \
|
17
17
|
rm -rf /usr/share/ri
|
18
18
|
|
19
19
|
COPY pkg/tagfish-latest.gem /cwd/
|
20
20
|
WORKDIR /cwd
|
21
21
|
RUN gem install tagfish-latest.gem
|
22
|
+
RUN mkdir -p /root/.docker
|
22
23
|
|
23
24
|
ENTRYPOINT ["tagfish"]
|
data/README.md
CHANGED
@@ -5,7 +5,7 @@ module Tagfish
|
|
5
5
|
module DockerRegistryClient
|
6
6
|
|
7
7
|
def self.for(*args)
|
8
|
-
[
|
8
|
+
[DockerRegistryV1Client, DockerRegistryV2Client].each do |client_class|
|
9
9
|
begin
|
10
10
|
return client_class.new(*args)
|
11
11
|
rescue APIVersionError
|
@@ -8,7 +8,11 @@ module Tagfish
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def search(keyword)
|
11
|
-
|
11
|
+
if not keyword
|
12
|
+
abort("You need to specify a keyword to search a Registry V1")
|
13
|
+
end
|
14
|
+
repos_raw = APICall.new(search_uri(keyword)).get_json(http_auth)
|
15
|
+
repos = repos_raw["results"].map {|result| result["name"]}
|
12
16
|
end
|
13
17
|
|
14
18
|
def tag_names
|
@@ -7,8 +7,12 @@ module Tagfish
|
|
7
7
|
'v2'
|
8
8
|
end
|
9
9
|
|
10
|
-
def
|
11
|
-
|
10
|
+
def search(keyword)
|
11
|
+
repo_list = catalog
|
12
|
+
if keyword
|
13
|
+
repo_list.select! {|repo| repo.include? keyword}
|
14
|
+
end
|
15
|
+
repo_list.map {|repo| "#{docker_uri.registry}/#{repo}"}
|
12
16
|
end
|
13
17
|
|
14
18
|
def tag_names
|
@@ -21,6 +25,10 @@ module Tagfish
|
|
21
25
|
|
22
26
|
private
|
23
27
|
|
28
|
+
def catalog
|
29
|
+
APICall.new(catalog_uri).get_json(http_auth)["repositories"]
|
30
|
+
end
|
31
|
+
|
24
32
|
def tags
|
25
33
|
APICall.new(tags_uri).get_json(http_auth)
|
26
34
|
end
|
@@ -11,29 +11,8 @@ module Tagfish
|
|
11
11
|
end
|
12
12
|
|
13
13
|
docker_uri = DockerURI.parse(registry + "/" + "dummy")
|
14
|
-
docker_api =
|
15
|
-
|
16
|
-
if docker_api.api_version == 'v2'
|
17
|
-
puts search_v2(keyword, docker_api, docker_uri)
|
18
|
-
else
|
19
|
-
puts search_v1(keyword, docker_api)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def search_v2(keyword, docker_api, docker_uri)
|
24
|
-
repos = docker_api.catalog_v2["repositories"]
|
25
|
-
if keyword
|
26
|
-
repos.select! {|repo| repo.include? keyword}
|
27
|
-
end
|
28
|
-
repos.map {|repo| "#{docker_uri.registry}/#{repo}"}
|
29
|
-
end
|
30
|
-
|
31
|
-
def search_v1(keyword, docker_api)
|
32
|
-
if not keyword
|
33
|
-
abort("You need to specify a keyword to search a Registry V1")
|
34
|
-
end
|
35
|
-
repos_raw = docker_api.search_v1(keyword)
|
36
|
-
repos = repos_raw["results"].map {|result| result["name"]}
|
14
|
+
docker_api = DockerRegistryClient.for(docker_uri)
|
15
|
+
puts docker_api.search(keyword)
|
37
16
|
end
|
38
17
|
end
|
39
18
|
end
|
data/lib/tagfish/version.rb
CHANGED