forked from TrueCloudLab/distribution
Only use the distribution/context package in registry.go
This solves a issue from #909 where instance.id was not printed in logs, because this file was using the background context from golang.org/x/net/context instead of github.com/docker/distribution/context. It's cleaner to standardize on one package, so this commit removes the import of golang.org/x/net/context entirely. The Context interfaces defined in both packages are the same, so other code using golang.org/x/net/context can still pass its context to NewRegistry. Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
This commit is contained in:
parent
045db61784
commit
6403bf64d5
1 changed files with 11 additions and 12 deletions
|
@ -13,7 +13,7 @@ import (
|
||||||
"github.com/Sirupsen/logrus/formatters/logstash"
|
"github.com/Sirupsen/logrus/formatters/logstash"
|
||||||
"github.com/bugsnag/bugsnag-go"
|
"github.com/bugsnag/bugsnag-go"
|
||||||
"github.com/docker/distribution/configuration"
|
"github.com/docker/distribution/configuration"
|
||||||
ctxu "github.com/docker/distribution/context"
|
"github.com/docker/distribution/context"
|
||||||
"github.com/docker/distribution/health"
|
"github.com/docker/distribution/health"
|
||||||
"github.com/docker/distribution/registry/handlers"
|
"github.com/docker/distribution/registry/handlers"
|
||||||
"github.com/docker/distribution/registry/listener"
|
"github.com/docker/distribution/registry/listener"
|
||||||
|
@ -22,7 +22,6 @@ import (
|
||||||
gorhandlers "github.com/gorilla/handlers"
|
gorhandlers "github.com/gorilla/handlers"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/yvasiyarov/gorelic"
|
"github.com/yvasiyarov/gorelic"
|
||||||
"golang.org/x/net/context"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Cmd is a cobra command for running the registry.
|
// Cmd is a cobra command for running the registry.
|
||||||
|
@ -80,7 +79,7 @@ type Registry struct {
|
||||||
// NewRegistry creates a new registry from a context and configuration struct.
|
// NewRegistry creates a new registry from a context and configuration struct.
|
||||||
func NewRegistry(ctx context.Context, config *configuration.Configuration) (*Registry, error) {
|
func NewRegistry(ctx context.Context, config *configuration.Configuration) (*Registry, error) {
|
||||||
// Note this
|
// Note this
|
||||||
ctx = ctxu.WithValue(ctx, "version", version.Version)
|
ctx = context.WithValue(ctx, "version", version.Version)
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
ctx, err = configureLogging(ctx, config)
|
ctx, err = configureLogging(ctx, config)
|
||||||
|
@ -90,7 +89,7 @@ func NewRegistry(ctx context.Context, config *configuration.Configuration) (*Reg
|
||||||
|
|
||||||
// inject a logger into the uuid library. warns us if there is a problem
|
// inject a logger into the uuid library. warns us if there is a problem
|
||||||
// with uuid generation under low entropy.
|
// with uuid generation under low entropy.
|
||||||
uuid.Loggerf = ctxu.GetLogger(ctx).Warnf
|
uuid.Loggerf = context.GetLogger(ctx).Warnf
|
||||||
|
|
||||||
app := handlers.NewApp(ctx, config)
|
app := handlers.NewApp(ctx, config)
|
||||||
// TODO(aaronl): The global scope of the health checks means NewRegistry
|
// TODO(aaronl): The global scope of the health checks means NewRegistry
|
||||||
|
@ -161,7 +160,7 @@ func (registry *Registry) ListenAndServe() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, subj := range pool.Subjects() {
|
for _, subj := range pool.Subjects() {
|
||||||
ctxu.GetLogger(registry.app).Debugf("CA Subject: %s", string(subj))
|
context.GetLogger(registry.app).Debugf("CA Subject: %s", string(subj))
|
||||||
}
|
}
|
||||||
|
|
||||||
tlsConf.ClientAuth = tls.RequireAndVerifyClientCert
|
tlsConf.ClientAuth = tls.RequireAndVerifyClientCert
|
||||||
|
@ -169,9 +168,9 @@ func (registry *Registry) ListenAndServe() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
ln = tls.NewListener(ln, tlsConf)
|
ln = tls.NewListener(ln, tlsConf)
|
||||||
ctxu.GetLogger(registry.app).Infof("listening on %v, tls", ln.Addr())
|
context.GetLogger(registry.app).Infof("listening on %v, tls", ln.Addr())
|
||||||
} else {
|
} else {
|
||||||
ctxu.GetLogger(registry.app).Infof("listening on %v", ln.Addr())
|
context.GetLogger(registry.app).Infof("listening on %v", ln.Addr())
|
||||||
}
|
}
|
||||||
|
|
||||||
return registry.server.Serve(ln)
|
return registry.server.Serve(ln)
|
||||||
|
@ -215,11 +214,11 @@ func configureReporting(app *handlers.App) http.Handler {
|
||||||
|
|
||||||
// configureLogging prepares the context with a logger using the
|
// configureLogging prepares the context with a logger using the
|
||||||
// configuration.
|
// configuration.
|
||||||
func configureLogging(ctx ctxu.Context, config *configuration.Configuration) (context.Context, error) {
|
func configureLogging(ctx context.Context, config *configuration.Configuration) (context.Context, error) {
|
||||||
if config.Log.Level == "" && config.Log.Formatter == "" {
|
if config.Log.Level == "" && config.Log.Formatter == "" {
|
||||||
// If no config for logging is set, fallback to deprecated "Loglevel".
|
// If no config for logging is set, fallback to deprecated "Loglevel".
|
||||||
log.SetLevel(logLevel(config.Loglevel))
|
log.SetLevel(logLevel(config.Loglevel))
|
||||||
ctx = ctxu.WithLogger(ctx, ctxu.GetLogger(ctx, "version"))
|
ctx = context.WithLogger(ctx, context.GetLogger(ctx, "version"))
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -255,7 +254,7 @@ func configureLogging(ctx ctxu.Context, config *configuration.Configuration) (co
|
||||||
}
|
}
|
||||||
|
|
||||||
// log the application version with messages
|
// log the application version with messages
|
||||||
ctx = ctxu.WithLogger(ctx, ctxu.GetLogger(ctx, "version"))
|
ctx = context.WithLogger(ctx, context.GetLogger(ctx, "version"))
|
||||||
|
|
||||||
if len(config.Log.Fields) > 0 {
|
if len(config.Log.Fields) > 0 {
|
||||||
// build up the static fields, if present.
|
// build up the static fields, if present.
|
||||||
|
@ -264,8 +263,8 @@ func configureLogging(ctx ctxu.Context, config *configuration.Configuration) (co
|
||||||
fields = append(fields, k)
|
fields = append(fields, k)
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx = ctxu.WithValues(ctx, config.Log.Fields)
|
ctx = context.WithValues(ctx, config.Log.Fields)
|
||||||
ctx = ctxu.WithLogger(ctx, ctxu.GetLogger(ctx, fields...))
|
ctx = context.WithLogger(ctx, context.GetLogger(ctx, fields...))
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
|
Loading…
Reference in a new issue