Add registry middleware access to storage drivers

Signed-off-by: David Wu <dwu7401@gmail.com>
This commit is contained in:
David Wu
2016-11-01 16:44:18 -07:00
parent 89337b7a25
commit db1d0cbf35
3 changed files with 21 additions and 6 deletions

View File

@@ -301,7 +301,7 @@ func NewApp(ctx context.Context, config *configuration.Configuration) *App {
}
}
app.registry, err = applyRegistryMiddleware(app, app.registry, config.Middleware["registry"])
app.registry, err = applyRegistryMiddleware(app, app.registry, app.driver, config.Middleware["registry"])
if err != nil {
panic(err)
}
@@ -958,9 +958,9 @@ func appendCatalogAccessRecord(accessRecords []auth.Access, r *http.Request) []a
}
// applyRegistryMiddleware wraps a registry instance with the configured middlewares
func applyRegistryMiddleware(ctx context.Context, registry distribution.Namespace, middlewares []configuration.Middleware) (distribution.Namespace, error) {
func applyRegistryMiddleware(ctx context.Context, registry distribution.Namespace, driver storagedriver.StorageDriver, middlewares []configuration.Middleware) (distribution.Namespace, error) {
for _, mw := range middlewares {
rmw, err := registrymiddleware.Get(ctx, mw.Name, mw.Options, registry)
rmw, err := registrymiddleware.Get(ctx, mw.Name, mw.Options, registry, driver)
if err != nil {
return nil, fmt.Errorf("unable to configure registry middleware (%s): %s", mw.Name, err)
}