V1TarReader return an io.ReadCloser to read the image as a v1 tarball
(overrideName string)
| 93 | |
| 94 | // V1TarReader return an io.ReadCloser to read the image as a v1 tarball |
| 95 | func (c ImageSource) V1TarReader(overrideName string) (io.ReadCloser, error) { |
| 96 | imageName := c.ref.String() |
| 97 | saveName := imageName |
| 98 | if overrideName != "" { |
| 99 | saveName = overrideName |
| 100 | } |
| 101 | refName, err := name.ParseReference(saveName) |
| 102 | if err != nil { |
| 103 | return nil, fmt.Errorf("error parsing image name: %v", err) |
| 104 | } |
| 105 | // get a reference to the image |
| 106 | image, err := c.provider.findImage(imageName, *c.platform) |
| 107 | if err != nil { |
| 108 | return nil, err |
| 109 | } |
| 110 | // convert the writer to a reader |
| 111 | r, w := io.Pipe() |
| 112 | go func() { |
| 113 | defer func() { _ = w.Close() }() |
| 114 | _ = tarball.Write(refName, image, w) |
| 115 | }() |
| 116 | return r, nil |
| 117 | } |
| 118 | |
| 119 | // OCITarReader return an io.ReadCloser to read the image as a v1 tarball |
| 120 | func (c ImageSource) OCITarReader(overrideName string) (io.ReadCloser, error) { |