Class: DockerRegistry::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/docker_registry/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(base_uri, options = {}) ⇒ Client

Returns a new instance of Client.

Parameters:

  • base_uri (#to_s)

    Docker registry base URI

  • options (Hash) (defaults to: {})

    Client options

Options Hash (options):

  • :user (#to_s)

    User name for basic authentication

  • :password (#to_s)

    Password for basic authentication



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/docker_registry/client.rb', line 11

def initialize(base_uri, options = {})
  @base_uri = base_uri.to_s
  @faraday = Faraday.new(@base_uri) do |builder|
    builder.request :json
    builder.use DockerRegistry::OjParser, content_type: /\bjson$/

    if options[:user] && options[:password]
      builder.request(
        :basic_auth,
        options[:user].to_s, options[:password].to_s
      )
    end

    builder.adapter :net_http
  end
end

Instance Method Details

#delete_reporitory_tag(repository_name, tag_name) ⇒ Object



49
50
51
52
53
# File 'lib/docker_registry/client.rb', line 49

def delete_reporitory_tag(repository_name, tag_name)
  @faraday\
    .delete("/v1/repositories/#{repository_name}/tags/#{tag_name}")\
    .status == 200
end

#delete_repository(name) ⇒ Object



45
46
47
# File 'lib/docker_registry/client.rb', line 45

def delete_repository(name)
  @faraday.delete("/v1/repositories/#{name}/").status == 200
end

#pingObject



28
29
30
# File 'lib/docker_registry/client.rb', line 28

def ping
  @faraday.get('/v1/_ping').body
end

#repositry_tag(name, tag) ⇒ Object



41
42
43
# File 'lib/docker_registry/client.rb', line 41

def repositry_tag(name, tag)
  @faraday.get("/v1/repositories/#{name}/tags/#{tag}").body
end

#repositry_tags(name) ⇒ Object



37
38
39
# File 'lib/docker_registry/client.rb', line 37

def repositry_tags(name)
  @faraday.get("/v1/repositories/#{name}/tags").body
end

#search(query = '') ⇒ Object

Parameters:

  • query (#to_s) (defaults to: '')

    Seach query



33
34
35
# File 'lib/docker_registry/client.rb', line 33

def search(query = '')
  @faraday.get('/v1/search', { q: query }).body
end