Rename top level registry interface to namespace
Registry is intended to be used as a repository service than an abstract collection of repositories. Namespace better describes a collection of repositories retrievable by name. The registry service serves any repository in the global scope. Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)master
							parent
							
								
									250e61e2a1
								
							
						
					
					
						commit
						e83e37618f
					
				| 
						 | 
				
			
			@ -40,7 +40,7 @@ type App struct {
 | 
			
		|||
 | 
			
		||||
	router           *mux.Router                 // main application router, configured with dispatchers
 | 
			
		||||
	driver           storagedriver.StorageDriver // driver maintains the app global storage driver instance.
 | 
			
		||||
	registry         distribution.Registry       // registry is the primary registry backend for the app instance.
 | 
			
		||||
	registry         distribution.Namespace      // registry is the primary registry backend for the app instance.
 | 
			
		||||
	accessController auth.AccessController       // main access controller for application
 | 
			
		||||
 | 
			
		||||
	// events contains notification related configuration.
 | 
			
		||||
| 
						 | 
				
			
			@ -541,7 +541,7 @@ func appendAccessRecords(records []auth.Access, method string, repo string) []au
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// applyRegistryMiddleware wraps a registry instance with the configured middlewares
 | 
			
		||||
func applyRegistryMiddleware(registry distribution.Registry, middlewares []configuration.Middleware) (distribution.Registry, error) {
 | 
			
		||||
func applyRegistryMiddleware(registry distribution.Namespace, middlewares []configuration.Middleware) (distribution.Namespace, error) {
 | 
			
		||||
	for _, mw := range middlewares {
 | 
			
		||||
		rmw, err := registrymiddleware.Get(mw.Name, mw.Options, registry)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,7 +8,7 @@ import (
 | 
			
		|||
 | 
			
		||||
// InitFunc is the type of a RegistryMiddleware factory function and is
 | 
			
		||||
// used to register the constructor for different RegistryMiddleware backends.
 | 
			
		||||
type InitFunc func(registry distribution.Registry, options map[string]interface{}) (distribution.Registry, error)
 | 
			
		||||
type InitFunc func(registry distribution.Namespace, options map[string]interface{}) (distribution.Namespace, error)
 | 
			
		||||
 | 
			
		||||
var middlewares map[string]InitFunc
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -28,7 +28,7 @@ func Register(name string, initFunc InitFunc) error {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// Get constructs a RegistryMiddleware with the given options using the named backend.
 | 
			
		||||
func Get(name string, options map[string]interface{}, registry distribution.Registry) (distribution.Registry, error) {
 | 
			
		||||
func Get(name string, options map[string]interface{}, registry distribution.Namespace) (distribution.Namespace, error) {
 | 
			
		||||
	if middlewares != nil {
 | 
			
		||||
		if initFunc, exists := middlewares[name]; exists {
 | 
			
		||||
			return initFunc(registry, options)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,7 +21,7 @@ import (
 | 
			
		|||
type manifestStoreTestEnv struct {
 | 
			
		||||
	ctx        context.Context
 | 
			
		||||
	driver     driver.StorageDriver
 | 
			
		||||
	registry   distribution.Registry
 | 
			
		||||
	registry   distribution.Namespace
 | 
			
		||||
	repository distribution.Repository
 | 
			
		||||
	name       string
 | 
			
		||||
	tag        string
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,7 @@ type registry struct {
 | 
			
		|||
// NewRegistryWithDriver creates a new registry instance from the provided
 | 
			
		||||
// driver. The resulting registry may be shared by multiple goroutines but is
 | 
			
		||||
// cheap to allocate.
 | 
			
		||||
func NewRegistryWithDriver(driver storagedriver.StorageDriver, layerInfoCache cache.LayerInfoCache) distribution.Registry {
 | 
			
		||||
func NewRegistryWithDriver(driver storagedriver.StorageDriver, layerInfoCache cache.LayerInfoCache) distribution.Namespace {
 | 
			
		||||
	bs := &blobStore{
 | 
			
		||||
		driver: driver,
 | 
			
		||||
		pm:     defaultPathMapper,
 | 
			
		||||
| 
						 | 
				
			
			@ -36,6 +36,12 @@ func NewRegistryWithDriver(driver storagedriver.StorageDriver, layerInfoCache ca
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Scope returns the namespace scope for a registry. The registry
 | 
			
		||||
// will only serve repositories contained within this scope.
 | 
			
		||||
func (reg *registry) Scope() distribution.Scope {
 | 
			
		||||
	return distribution.GlobalScope
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Repository returns an instance of the repository tied to the registry.
 | 
			
		||||
// Instances should not be shared between goroutines but are cheap to
 | 
			
		||||
// allocate. In general, they should be request scoped.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue