in k8s/go/pkg/resolver/resolver.go [319:342]
func resolveString(r *yamlResolver, s string) (string, error) {
if _, ok := r.unseen[s]; ok {
delete(r.unseen, s)
}
o, ok := r.resolvedImages[s]
if ok {
return o, nil
}
t, err := name.NewTag(s, name.StrictValidation)
if err != nil {
return s, nil
}
auth, err := authn.DefaultKeychain.Resolve(t.Context())
if err != nil {
return s, nil
}
desc, err := remote.Get(t, remote.WithAuth(auth))
if err != nil {
return s, nil
}
resolved := fmt.Sprintf("%s/%s@%v", t.Context().RegistryStr(), t.Context().RepositoryStr(), desc.Digest)
r.resolvedImages[s] = resolved
return resolved, nil
}