google / google/go-containerregistry

rebase: unclear semantics on config file inheritance

Open
#753 3 comments 0 reactions 0 assignees View on GitHub
lifecycle/frozen
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.