MCPcopy Create free account
hub / github.com/containers/image / GetSignaturesWithFormat

Method GetSignaturesWithFormat

openshift/openshift_src.go:104–128  ·  view source on GitHub ↗

GetSignaturesWithFormat returns the image's signatures. It may use a remote (= slow) service. If instanceDigest is not nil, it contains a digest of the specific manifest instance to retrieve signatures for (when the primary manifest is a manifest list); this never happens if the primary manifest is

(ctx context.Context, instanceDigest *digest.Digest)

Source from the content-addressed store, hash-verified

102// (when the primary manifest is a manifest list); this never happens if the primary manifest is not a manifest list
103// (e.g. if the source never returns manifest lists).
104func (s *openshiftImageSource) GetSignaturesWithFormat(ctx context.Context, instanceDigest *digest.Digest) ([]signature.Signature, error) {
105 var imageStreamImageName string
106 if instanceDigest == nil {
107 if err := s.ensureImageIsResolved(ctx); err != nil {
108 return nil, err
109 }
110 imageStreamImageName = s.imageStreamImageName
111 } else {
112 if err := instanceDigest.Validate(); err != nil { // Make sure instanceDigest.String() does not contain any unexpected characters
113 return nil, err
114 }
115 imageStreamImageName = instanceDigest.String()
116 }
117 image, err := s.client.getImage(ctx, imageStreamImageName)
118 if err != nil {
119 return nil, err
120 }
121 var sigs []signature.Signature
122 for _, sig := range image.Signatures {
123 if sig.Type == imageSignatureTypeAtomic {
124 sigs = append(sigs, signature.SimpleSigningFromBlob(sig.Content))
125 }
126 }
127 return sigs, nil
128}
129
130// ensureImageIsResolved sets up s.docker and s.imageStreamImageName
131func (s *openshiftImageSource) ensureImageIsResolved(ctx context.Context) error {

Callers

nothing calls this directly

Calls 4

ensureImageIsResolvedMethod · 0.95
SimpleSigningFromBlobFunction · 0.92
getImageMethod · 0.80
StringMethod · 0.65

Tested by

no test coverage detected