-
Notifications
You must be signed in to change notification settings - Fork 407
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Idea: ko rebase #358
Comments
Detecting which strings are actually images is a bit tricky. With the original ko yaml, we have I think it would be fine to have Imagine:
Assuming that |
If we expect That is, if images:
- some/other:image
- gcr.io/hello/ko-built-me would only return |
What if it only applied to strings with the EDIT: keeps reading and sees @imjasonh suggesting exactly this 🤦 |
When a newer version of a base image is available, in some cases you can pick up those updates without having to completely rebuild your image from scratch on top of the new base image. Instead, you can rebase. It just so happens
ko
builds images that are amenable to rebasing. 👍With future improvements to the OCI spec to declare standard annotations to signal base image information,
crane
will be able to take advantage of these annotations to detect and rebase images without any external information required.ko resolve
builds a bunch of images, by default based on gcr.io/distroless/static:nonroot. Ifko
produced images that wrote base image annotations, it could also have a CLI surface to ingest YAML generated by a previousko resolve
to detect image references, determine base image information for those images, identify new available base image versions, perform a rebase, and replace image references in the output YAML.The result would be a workflow like:
ko resolve > release.yaml
, wait for a distroless release,ko rebase release.yaml > release.yaml
, and release.yaml would now include images based on the new distroless release, without having to rebuild anything at all, or even have access to the original source.The text was updated successfully, but these errors were encountered: