From d031e56682ca7585c01a0ea42ff2ee2653d86a8f Mon Sep 17 00:00:00 2001 From: antwacky Date: Wed, 21 Feb 2024 10:12:31 +0000 Subject: [PATCH] Use HEAD query to registry first to avoid Dockerhub API rate limits, falling back to a GET in case of error Signed-off-by: antwacky --- pkg/kbld/registry/registry.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/kbld/registry/registry.go b/pkg/kbld/registry/registry.go index 50f37e0a..38843fdb 100644 --- a/pkg/kbld/registry/registry.go +++ b/pkg/kbld/registry/registry.go @@ -57,12 +57,16 @@ func (i Registry) Generic(ref regname.Reference) (regv1.Descriptor, error) { return regv1.Descriptor{}, err } - desc, err := regremote.Get(ref, i.opts...) + desc, err := regremote.Head(ref, i.opts...) if err != nil { - return regv1.Descriptor{}, err + getDesc, err := regremote.Get(ref, i.opts...) + if err != nil { + return regv1.Descriptor{}, err + } + return getDesc.Descriptor, err } - return desc.Descriptor, nil + return *desc, nil } func (i Registry) Image(ref regname.Reference) (regv1.Image, error) {