(tw *tar.Writer)
| 12 | ) |
| 13 | |
| 14 | func writeLayoutHeader(tw *tar.Writer) error { |
| 15 | // layout file |
| 16 | layoutFileBytes := []byte(layoutFile) |
| 17 | if err := tw.WriteHeader(&tar.Header{ |
| 18 | Name: "oci-layout", |
| 19 | Mode: 0644, |
| 20 | Size: int64(len(layoutFileBytes)), |
| 21 | Typeflag: tar.TypeReg, |
| 22 | }); err != nil { |
| 23 | return err |
| 24 | } |
| 25 | if _, err := tw.Write(layoutFileBytes); err != nil { |
| 26 | return err |
| 27 | } |
| 28 | |
| 29 | // make blobs directory |
| 30 | if err := tw.WriteHeader(&tar.Header{ |
| 31 | Name: "blobs/", |
| 32 | Mode: 0755, |
| 33 | Typeflag: tar.TypeDir, |
| 34 | }); err != nil { |
| 35 | return err |
| 36 | } |
| 37 | // make blobs/sha256 directory |
| 38 | if err := tw.WriteHeader(&tar.Header{ |
| 39 | Name: "blobs/sha256/", |
| 40 | Mode: 0755, |
| 41 | Typeflag: tar.TypeDir, |
| 42 | }); err != nil { |
| 43 | return err |
| 44 | } |
| 45 | return nil |
| 46 | } |
| 47 | |
| 48 | func writeLayoutImage(tw *tar.Writer, image v1.Image) error { |
| 49 | // write config, each layer, manifest, saving the digest for each |
no test coverage detected