Adds support for a --controller flag to up xpkg build such that provider
packages can be constructed as a single image. This change only supports
fetching the controller image from the local docker daemon, and can only
support building an image for a single architecture at a time. Options
may be expanded based on feedback from incorporating this functionality
into package building workflows.
Modifies up xpkg push to persist non-package layers and modify rather
than replace the existing config file. This ensures that information
such as os/arch are preserved when building provider packages from a
controller image.
Description of your changes
Updates xpkg build to support setting a base image, typically a controller, other than the empty image.
Signed-off-by: hasheddan georgedanielmangum@gmail.com
Adds support for a --controller flag to up xpkg build such that provider packages can be constructed as a single image. This change only supports fetching the controller image from the local docker daemon, and can only support building an image for a single architecture at a time. Options may be expanded based on feedback from incorporating this functionality into package building workflows.
Signed-off-by: hasheddan georgedanielmangum@gmail.com
Modifies up xpkg push to persist non-package layers and modify rather than replace the existing config file. This ensures that information such as os/arch are preserved when building provider packages from a controller image.
Signed-off-by: hasheddan georgedanielmangum@gmail.com
Fixes #176
I have:
make reviewable
to ensure this PR is ready for review.backport release-x.y
labels to auto-backport this PR, as appropriate.How has this code been tested
Verified by building a "fat package" for
crossplane/provider-aws:v0.24.1
with the following commands:Resulting package image contents can be viewed here: https://explore.ggcr.dev/?image=hasheddan%2Ffrom-controller%3Av0.0.3
Config File:
Manifest: