From d61519f99c635221d635710780422a311bc4a4e5 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Wed, 14 Jan 2026 10:32:00 +0100 Subject: [PATCH 1/2] internal/registryclient: allEndpoints: pass through context Signed-off-by: Sebastiaan van Stijn --- internal/registryclient/fetcher.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/registryclient/fetcher.go b/internal/registryclient/fetcher.go index 42ef0dec5423..11915641daaf 100644 --- a/internal/registryclient/fetcher.go +++ b/internal/registryclient/fetcher.go @@ -216,7 +216,7 @@ func continueOnError(err error) bool { } func (c *client) iterateEndpoints(ctx context.Context, namedRef reference.Named, each func(context.Context, distribution.Repository, reference.Named) (bool, error)) error { - endpoints, err := allEndpoints(namedRef, c.insecureRegistry) + endpoints, err := allEndpoints(ctx, namedRef, c.insecureRegistry) if err != nil { return err } @@ -275,7 +275,7 @@ func (c *client) iterateEndpoints(ctx context.Context, namedRef reference.Named, } // allEndpoints returns a list of endpoints ordered by priority (v2, http). -func allEndpoints(namedRef reference.Named, insecure bool) ([]registry.APIEndpoint, error) { +func allEndpoints(ctx context.Context, namedRef reference.Named, insecure bool) ([]registry.APIEndpoint, error) { var serviceOpts registry.ServiceOptions if insecure { logrus.Debugf("allowing insecure registry for: %s", reference.Domain(namedRef)) @@ -285,7 +285,7 @@ func allEndpoints(namedRef reference.Named, insecure bool) ([]registry.APIEndpoi if err != nil { return nil, err } - endpoints, err := registryService.Endpoints(context.TODO(), reference.Domain(namedRef)) + endpoints, err := registryService.Endpoints(ctx, reference.Domain(namedRef)) logrus.Debugf("endpoints for %s: %v", namedRef, endpoints) return endpoints, err } From 816f4556ce7b3ff86418a0ff97d996031076c5fc Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Wed, 14 Jan 2026 10:55:22 +0100 Subject: [PATCH 2/2] internal/registryclient: simplify notFoundError - remove constructor - fix mixed pointer/non-pointer receivers - just embed the error we want to produce Signed-off-by: Sebastiaan van Stijn --- internal/registryclient/fetcher.go | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/internal/registryclient/fetcher.go b/internal/registryclient/fetcher.go index 11915641daaf..cad5451f8f7f 100644 --- a/internal/registryclient/fetcher.go +++ b/internal/registryclient/fetcher.go @@ -271,7 +271,7 @@ func (c *client) iterateEndpoints(ctx context.Context, namedRef reference.Named, return nil } } - return newNotFoundError(namedRef.String()) + return notFoundError{errors.New("no such manifest: " + namedRef.String())} } // allEndpoints returns a list of endpoints ordered by priority (v2, http). @@ -290,17 +290,6 @@ func allEndpoints(ctx context.Context, namedRef reference.Named, insecure bool) return endpoints, err } -func newNotFoundError(ref string) *notFoundError { - return ¬FoundError{err: errors.New("no such manifest: " + ref)} -} - -type notFoundError struct { - err error -} - -func (n *notFoundError) Error() string { - return n.err.Error() -} +type notFoundError struct{ error } -// NotFound satisfies interface github.com/docker/docker/errdefs.ErrNotFound func (notFoundError) NotFound() {}