MCPcopy Create free account
hub / github.com/conforma/cli / resolveRefDigest

Function resolveRefDigest

acceptance/image/image.go:1017–1037  ·  view source on GitHub ↗

resolveRefDigest returns an image reference that is guaranteed to have a digest.

(url string)

Source from the content-addressed store, hash-verified

1015
1016// resolveRefDigest returns an image reference that is guaranteed to have a digest.
1017func resolveRefDigest(url string) (string, error) {
1018 ref, err := name.ParseReference(url)
1019 if err != nil {
1020 return "", err
1021 }
1022
1023 if d, ok := ref.(name.Digest); ok {
1024 return d.String(), nil
1025 }
1026
1027 descriptor, err := remote.Head(ref, remote.WithAuthFromKeychain(authn.DefaultKeychain))
1028 if err != nil {
1029 return "", err
1030 }
1031 digest := descriptor.Digest.String()
1032 if digest == "" {
1033 return "", fmt.Errorf("digest for image %q is empty", url)
1034 }
1035
1036 return fmt.Sprintf("%s@%s", ref.Name(), digest), nil
1037}
1038
1039// createAndPushKeylessImage loads an existing image from disk, along its signature and attestation
1040// into the docker registry.

Callers 1

Calls 4

HeadMethod · 0.65
ErrorfMethod · 0.65
NameMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected