| 69 | } |
| 70 | |
| 71 | func blobsForImage(img v1.Image) ([]v1.Hash, error) { |
| 72 | var blobs []v1.Hash |
| 73 | layers, err := img.Layers() |
| 74 | if err != nil { |
| 75 | // if we could not find the layers locally, that is fine; |
| 76 | // we are trying to ensure they don't exist in the cache, |
| 77 | // and they already don't exist. |
| 78 | return nil, nil |
| 79 | } |
| 80 | for _, layer := range layers { |
| 81 | dig, err := layer.Digest() |
| 82 | if err != nil { |
| 83 | return nil, err |
| 84 | } |
| 85 | blobs = append(blobs, dig) |
| 86 | } |
| 87 | if config, err := img.ConfigName(); err == nil { |
| 88 | blobs = append(blobs, config) |
| 89 | } |
| 90 | return blobs, nil |
| 91 | } |