google / google/go-containerregistry
rebase: unclear semantics on config file inheritance
- Dominant language
- Go
- Stars
- 4k
- Forks
- 686
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 26
Description
In https://github.com/google/go-containerregistry/issues/751 we learned that we aren't populating top-level [`ConfigFile`](https://pkg.go.dev/github.com/google/go-containerregistry/pkg/v1@v0.1.1?tab=doc#ConfigFile) properties. For most properties (other than platform stuff), this doesn't _really_ matter, but it's a shame to lose metadata for no reason.
As a first pass:
- [x] `Architecture`, `OS`, and `OSVersion` should probably come from the new base. Most base images have platform-specific things in them, so this seems like a reasonable default. (https://github.com/google/go-containerregistry/pull/752)
- [x] `RootFS` and `History` are synthesized from the original image, new base, and new layers.
- [ ] `Config` comes from the original image, but this has some problems. (https://github.com/google/go-containerregistry/issues/730)
- [ ] `Author` should come from the original image.
- [x] `Container` is not part of the OCI spec, it's probably fine to omit.
- [ ] `Created` could be either the original image's `Created` or `time.Now()`.
- [ ] `DockerVersion` should probably come from the original image if it's present.
Contributor guide
Assessment
This issue has not been assessed yet.