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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 45ed3de3aea63c3fbb5108caa65a5e4f13fce18b
4
- data.tar.gz: 58afb32647d0002ae0af805e7e13812f48b96220
3
+ metadata.gz: 6fb471e5b081c224d9b4bb912c3ca21df946219a
4
+ data.tar.gz: 1353e52d8ecbf84bcebfedeb7c3b31b10aa90e78
5
5
  SHA512:
6
- metadata.gz: cfda8b965954cef8c83dd908ed315a067898a0e5143675a95fe6369c11ab64a83f19495c290a24432482b6179391fb6e673e75f9e1b0a2622f014c8cda42ae71
7
- data.tar.gz: 9cf24c63a9a82178dc03a33918264993a5d3bcdfd6e254ef525da9fc5ec3fd16ef9da232e6409236533174a5eb2b2ea19c50b53daeda67a1edac917fb3376cf1
6
+ metadata.gz: 934cf9b78b229004aea5bb8629b5b2d70590886fe939ef69c1a54dc1916505f10d07f49c140c0b1a53219847c20a67d48c6ff2fd3592b4e4af2a2f82b9b7bf72
7
+ data.tar.gz: 6ec54816b4cd95d9b58621d705a06c46505fbf99e788e373d5a42f2c2479d3097246cbb38de31ccbb29898a221e19bdab4259a4094a76652915d1c3a9ba33aaf
data/Dockerfile CHANGED
@@ -1,23 +1,24 @@
1
- FROM alpine:edge
1
+ FROM alpine:3.3
2
2
  MAINTAINER Clement Labbe <clement.labbe@rea-group.com>
3
3
 
4
- RUN apk add --update ruby=2.2.3-r1 \
5
- ruby-dev=2.2.3-r1 \
6
- ruby-io-console=2.2.3-r1 \
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=20150426-r3 && \
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 2.4.8 && \
16
- gem install bundler -v 1.10.6 && \
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
@@ -146,7 +146,7 @@ Tagfish is released as a Docker image as well, and can be run with:
146
146
 
147
147
  ```
148
148
  docker run --rm \
149
- -v ~/.docker/config.json:/root/.docker/config.json:ro \
149
+ -v ~/.docker:/root/.docker:ro \
150
150
  -v ${PWD}:/cwd \
151
151
  cowbell/tagfish
152
152
  ```
@@ -5,7 +5,7 @@ module Tagfish
5
5
  module DockerRegistryClient
6
6
 
7
7
  def self.for(*args)
8
- [DockerRegistryV2Client, DockerRegistryV1Client].each do |client_class|
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
- APICall.new(search_uri(keyword)).get_json(http_auth)
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 catalog
11
- APICall.new(catalog_uri).get_json(http_auth)
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 = DockerAPI.new(docker_uri)
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
@@ -1,3 +1,3 @@
1
1
  module Tagfish
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tagfish
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clement Labbe