diff --git a/app/controllers/projects/container_registry_controller.rb b/app/controllers/projects/container_registry_controller.rb index ffd455e6476..94f7580f0ea 100644 --- a/app/controllers/projects/container_registry_controller.rb +++ b/app/controllers/projects/container_registry_controller.rb @@ -5,10 +5,7 @@ class Projects::ContainerRegistryController < Projects::ApplicationController layout 'project' def index - @tags = container_registry.tags - - other_repository = container_registry.registry["gitlab/gitlab-test3"] - container_registry.copy_to(other_repository) + @tags = container_registry_repository.tags end def destroy @@ -21,8 +18,8 @@ class Projects::ContainerRegistryController < Projects::ApplicationController private - def container_registry - @container_registry ||= project.container_registry + def container_registry_repository + @container_registry_repository ||= project.container_registry_repository end def tag diff --git a/app/models/project.rb b/app/models/project.rb index f81d9a52628..d384c58ca36 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -376,9 +376,11 @@ class Project < ActiveRecord::Base end def container_registry - @registry_token ||= Jwt::DockerAuthenticationService.full_access_token(path_with_namespace) - @registry ||= ImageRegistry::Registry.new(Gitlab.config.registry.api_url, token: @registry_token) - @container_registry ||= ImageRegistry::Repository.new(@registry, path_with_namespace) + @container_registry_repository ||= begin + token = Jwt::ContainerRegistryAuthenticationService.full_access_token(path_with_namespace) + registry = ContainerRegistry::Registry.new(Gitlab.config.registry.api_url, token: token) + registry[path_with_namespace] + end end def container_registry_url diff --git a/lib/image_registry/blob.rb b/lib/container_registry/blob.rb similarity index 97% rename from lib/image_registry/blob.rb rename to lib/container_registry/blob.rb index 43665149e23..e0d9923f217 100644 --- a/lib/image_registry/blob.rb +++ b/lib/container_registry/blob.rb @@ -1,4 +1,4 @@ -module ImageRegistry +module ContainerRegistry class Blob attr_reader :repository, :config diff --git a/lib/image_registry/client.rb b/lib/container_registry/client.rb similarity index 98% rename from lib/image_registry/client.rb rename to lib/container_registry/client.rb index a4432059097..b823428344b 100644 --- a/lib/image_registry/client.rb +++ b/lib/container_registry/client.rb @@ -1,7 +1,7 @@ require 'faraday' require 'faraday_middleware' -module ImageRegistry +module ContainerRegistry class Client attr_accessor :uri diff --git a/lib/image_registry/config.rb b/lib/container_registry/config.rb similarity index 90% rename from lib/image_registry/config.rb rename to lib/container_registry/config.rb index 1c2abec1bfa..626b36cbaa9 100644 --- a/lib/image_registry/config.rb +++ b/lib/container_registry/config.rb @@ -1,4 +1,4 @@ -module ImageRegistry +module ContainerRegistry class Config attr_reader :tag, :blob, :data diff --git a/lib/image_registry/registry.rb b/lib/container_registry/registry.rb similarity index 53% rename from lib/image_registry/registry.rb rename to lib/container_registry/registry.rb index d8de8e392e9..f866862db22 100644 --- a/lib/image_registry/registry.rb +++ b/lib/container_registry/registry.rb @@ -1,14 +1,14 @@ -module ImageRegistry +module ContainerRegistry class Registry attr_reader :uri, :client def initialize(uri, options = {}) @uri = URI.parse(uri) - @client = ImageRegistry::Client.new(uri, options) + @client = ContainerRegistry::Client.new(uri, options) end def [](name) - ImageRegistry::Repository.new(self, name) + ContainerRegistry::Repository.new(self, name) end end end diff --git a/lib/image_registry/repository.rb b/lib/container_registry/repository.rb similarity index 89% rename from lib/image_registry/repository.rb rename to lib/container_registry/repository.rb index 43e8e7720db..c930878d265 100644 --- a/lib/image_registry/repository.rb +++ b/lib/container_registry/repository.rb @@ -1,4 +1,4 @@ -module ImageRegistry +module ContainerRegistry class Repository attr_reader :registry, :name @@ -11,7 +11,7 @@ module ImageRegistry end def [](tag) - ImageRegistry::Tag.new(self, tag) + ContainerRegistry::Tag.new(self, tag) end def manifest @@ -27,7 +27,7 @@ module ImageRegistry return @tags if defined?(@tags) return [] unless manifest && manifest['tags'] @tags = manifest['tags'].map do |tag| - ImageRegistry::Tag.new(self, tag) + ContainerRegistry::Tag.new(self, tag) end @tags ||= [] end diff --git a/lib/image_registry/tag.rb b/lib/container_registry/tag.rb similarity index 86% rename from lib/image_registry/tag.rb rename to lib/container_registry/tag.rb index 76946a6ce5b..324778bdf2a 100644 --- a/lib/image_registry/tag.rb +++ b/lib/container_registry/tag.rb @@ -1,4 +1,4 @@ -module ImageRegistry +module ContainerRegistry class Tag attr_reader :repository, :name @@ -28,12 +28,12 @@ module ImageRegistry def config_blob return @config_blob if defined?(@config_blob) return unless manifest && manifest['config'] - @config_blob = ImageRegistry::Blob.new(repository, manifest['config']) + @config_blob = ContainerRegistry::Blob.new(repository, manifest['config']) end def config return unless config_blob - @config ||= ImageRegistry::Config.new(self, config_blob) + @config ||= ContainerRegistry::Config.new(self, config_blob) end def created_at @@ -45,7 +45,7 @@ module ImageRegistry return @layers if defined?(@layers) return unless manifest @layers = manifest['layers'].map do |layer| - ImageRegistry::Blob.new(repository, layer) + ContainerRegistry::Blob.new(repository, layer) end end