MCPcopy
hub / github.com/google/go-containerregistry / RawConfigFile

Method RawConfigFile

pkg/v1/remote/image.go:101–132  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

99}
100
101func (r *remoteImage) RawConfigFile() ([]byte, error) {
102 r.configLock.Lock()
103 defer r.configLock.Unlock()
104 if r.config != nil {
105 return r.config, nil
106 }
107
108 m, err := partial.Manifest(r)
109 if err != nil {
110 return nil, err
111 }
112
113 if m.Config.Data != nil {
114 if err := verify.Descriptor(m.Config); err != nil {
115 return nil, err
116 }
117 r.config = m.Config.Data
118 return r.config, nil
119 }
120
121 body, err := r.fetcher.fetchBlob(r.ctx, m.Config.Size, m.Config.Digest)
122 if err != nil {
123 return nil, err
124 }
125 defer body.Close()
126
127 r.config, err = io.ReadAll(body)
128 if err != nil {
129 return nil, err
130 }
131 return r.config, nil
132}
133
134// Descriptor retains the original descriptor from an index manifest.
135// See partial.Descriptor.

Callers 1

Calls 4

ManifestFunction · 0.92
DescriptorFunction · 0.92
fetchBlobMethod · 0.80
CloseMethod · 0.65

Tested by 1