Skip to content
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

install: Add --pull for LBIs #846

Open
cgwalters opened this issue Oct 25, 2024 · 0 comments
Open

install: Add --pull for LBIs #846

cgwalters opened this issue Oct 25, 2024 · 0 comments
Labels
area/install Issues related to `bootc install` area/logically-bound-images Issues related to "logically bound" images

Comments

@cgwalters
Copy link
Collaborator

Today for install we require the base image and LBIs to be in the source root container storage.

Having them required to be in the same container storage I think is probably the correct default as it means bootc install is not itself ever in the business of pulling anything.

But this hurts ergonomics for the to-existing-root type cases because almost always LBIs won't be present and it's logistically annoying. I think we should add something like bootc install --pull which would default to automatically fetching LBIs to the target root.

Also as I mentioned elsewhere I think it'd also be useful to have something like bootc image list --type=logical to start which would print the images so one could do this:

podman pull quay.io/examplecorp/bootc:latest
podman run --rm quay.io/examplecorp/bootc:latest bootc image list --type=logical | xargs podman pull
podman run --privileged --rm <long list of install args> quay.io/examplecorp/bootc:latest bootc install to-existing-root

Note that in this flow it's the host podman that's responsible for fetching images always consistently so we pick up whatever pull secrets (e.g.) are needed from there.

If we have the bootc install in the container image need to pull, then suddenly we're in the problem domain of needing to proxy all the pull secret configuration, which is something I'd hoped to avoid. OTOH for cases that embed the pull secret in the image sufficient for the target registry, that's fine.

@cgwalters cgwalters added area/install Issues related to `bootc install` area/logically-bound-images Issues related to "logically bound" images labels Oct 25, 2024
omertuc added a commit to omertuc/bootc that referenced this issue Oct 31, 2024
Solves containers#846

This adds a new `--pull` option to `bootc install` which will pull
all LBIs into the target's container storage, even if they are not
available in the source root container storage.
omertuc added a commit to omertuc/bootc that referenced this issue Oct 31, 2024
Solves containers#846

This adds a new `--pull` option to `bootc install` which will pull
all LBIs into the target's container storage, even if they are not
available in the source root container storage.
omertuc added a commit to omertuc/bootc that referenced this issue Oct 31, 2024
Solves containers#846

This adds a new `--pull` option to `bootc install` which will pull
all LBIs into the target's container storage, even if they are not
available in the source root container storage.

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Oct 31, 2024
Partially solves containers#846

This adds a new `--pull` option to `bootc install` which will pull
all LBIs into the target's container storage, even if they are not
available in the source root container storage.

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 1, 2024
Partially solves containers#846

This adds a new `--pull` option to `bootc install` which will pull
all LBIs into the target's container storage, even if they are not
available in the source root container storage.

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 1, 2024
Partially solves containers#846

This adds a new `--pull` option to `bootc install` which will pull
all LBIs into the target's container storage, even if they are not
available in the source root container storage.

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 2, 2024
Partially solves containers#846

This adds a new `--bound-images` option to `bootc install` which will
allow the user to choose how they want to handle the retrieval of LBIs
into the target's container storage.

The existing behavior, which will stay the default, is `--bound-images
stored` which will resolve the LBIs and verify they exist in the
source's container storage before copying them into the target's
container storage.

The new behavior is `--bound-images pull` which will skip the resolution
step and directly pull the LBIs into the target's container storage.

The older `--skip-bound-images` option (previously hidden) is now
removed and replaced with the new `--bound-images skip` option.

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 2, 2024
Partially solves containers#846

This adds a new `--bound-images` option to `bootc install` which will
allow the user to choose how they want to handle the retrieval of LBIs
into the target's container storage.

The existing behavior, which will stay the default, is `--bound-images
stored` which will resolve the LBIs and verify they exist in the
source's container storage before copying them into the target's
container storage.

The new behavior is `--bound-images pull` which will skip the resolution
step and directly pull the LBIs into the target's container storage.

The older `--skip-bound-images` option (previously hidden) is now
removed and replaced with the new (but still hidden) `--bound-images
skip` option.

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 5, 2024
Partially solves containers#846

This adds a new `--bound-images` option to `bootc install` which will
allow the user to choose how they want to handle the retrieval of LBIs
into the target's container storage.

The existing behavior, which will stay the default, is `--bound-images
stored` which will resolve the LBIs and verify they exist in the
source's container storage before copying them into the target's
container storage.

The new behavior is `--bound-images pull` which will skip the resolution
step and directly pull the LBIs into the target's container storage.

The older `--skip-bound-images` option (previously hidden) is now
removed and replaced with the new (but still hidden) `--bound-images
skip` option.

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 5, 2024
For now this is just the implementation, but it does not contain the
important bug fix for containers#846
which is to allow this command to run inside a container and not just on
a bootc booted host

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 5, 2024
For now this is just the implementation, but it does not contain the
important bug fix for containers#846
which is to allow this command to run inside a container and not just on
a bootc booted host

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 5, 2024
Partially solves containers#846

This adds a new `--bound-images` option to `bootc install` which will
allow the user to choose how they want to handle the retrieval of LBIs
into the target's container storage.

The existing behavior, which will stay the default, is `--bound-images
stored` which will resolve the LBIs and verify they exist in the
source's container storage before copying them into the target's
container storage.

The new behavior is `--bound-images pull` which will skip the resolution
step and directly pull the LBIs into the target's container storage.

The older `--skip-bound-images` option (previously hidden) is now
removed and replaced with the new (but still hidden) `--bound-images
skip` option.

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 5, 2024
For now this is just the implementation, but it does not contain the
important bug fix for containers#846
which is to allow this command to run inside a container and not just on
a bootc booted host

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 6, 2024
For now this is just the implementation, but it does not contain the
important bug fix for containers#846
which is to allow this command to run inside a container and not just on
a bootc booted host

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 7, 2024
For now this is just the implementation, but it does not contain the
important bug fix for containers#846
which is to allow this command to run inside a container and not just on
a bootc booted host

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 7, 2024
For now this is just the implementation, but it does not contain the
important bug fix for containers#846
which is to allow this command to run inside a container and not just on
a bootc booted host

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 7, 2024
For now this is just the implementation, but it does not contain the
important bug fix for containers#846
which is to allow this command to run inside a container and not just on
a bootc booted host

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 7, 2024
For now this is just the implementation, but it does not contain the
important bug fix for containers#846
which is to allow this command to run inside a container and not just on
a bootc booted host

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 9, 2024
For now this is just the implementation, but it does not contain the
important bug fix for containers#846
which is to allow this command to run inside a container and not just on
a bootc booted host

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 9, 2024
For now this is just the implementation, but it does not contain the
important bug fix for containers#846
which is to allow this command to run inside a container and not just on
a bootc booted host

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 9, 2024
For now this is just the implementation, but it does not contain the
important bug fix for containers#846
which is to allow this command to run inside a container and not just on
a bootc booted host

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 9, 2024
Partially solves containers#846

This adds a new `--bound-images` option to `bootc install` which will
allow the user to choose how they want to handle the retrieval of LBIs
into the target's container storage.

The existing behavior, which will stay the default, is `--bound-images
stored` which will resolve the LBIs and verify they exist in the
source's container storage before copying them into the target's
container storage.

The new behavior is `--bound-images pull` which will skip the resolution
step and directly pull the LBIs into the target's container storage.

The older `--skip-bound-images` option (previously hidden) is now
removed and replaced with the new (but still hidden) `--bound-images
skip` option.

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 19, 2024
Solves the second part of containers#846

The (hidden) image list command now has a `--type` flag to allow users
to list only logical images, only host images, or all images.

Also the command has been adjusted so that it can run even when not
booted off of a bootc system. In that case, it will only list logical
images. If a user tries to list host images without a booted system, an
error will be thrown.

The command also has a `--format` flag to allow users to choose between
a human-readable table format and a JSON format.

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 19, 2024
Solves the second part of containers#846

The (hidden) image list command now has a `--type` flag to allow users
to list only logical images, only host images, or all images.

Also the command has been adjusted so that it can run even when not
booted off of a bootc system. In that case, it will only list logical
images. If a user tries to list host images without a booted system, an
error will be thrown.

The command also has a `--format` flag to allow users to choose between
a human-readable table format and a JSON format.

Signed-off-by: Omer Tuchfeld <[email protected]>
omertuc added a commit to omertuc/bootc that referenced this issue Nov 19, 2024
Solves the second part of containers#846

The (hidden) image list command now has a `--type` flag to allow users
to list only logical images, only host images, or all images.

Also the command has been adjusted so that it can run even when not
booted off of a bootc system. In that case, it will only list logical
images. If a user tries to list host images without a booted system, an
error will be thrown.

The command also has a `--format` flag to allow users to choose between
a human-readable table format and a JSON format.

Signed-off-by: Omer Tuchfeld <[email protected]>
cgwalters pushed a commit to cgwalters/bootc that referenced this issue Nov 22, 2024
Partially solves containers#846

This adds a new `--bound-images` option to `bootc install` which will
allow the user to choose how they want to handle the retrieval of LBIs
into the target's container storage.

The existing behavior, which will stay the default, is `--bound-images
stored` which will resolve the LBIs and verify they exist in the
source's container storage before copying them into the target's
container storage.

The new behavior is `--bound-images pull` which will skip the resolution
step and directly pull the LBIs into the target's container storage.

The older `--skip-bound-images` option (previously hidden) is now
removed and replaced with the new (but still hidden) `--bound-images
skip` option.

Signed-off-by: Omer Tuchfeld <[email protected]>
Signed-off-by: Colin Walters <[email protected]>
cgwalters pushed a commit to omertuc/bootc that referenced this issue Nov 22, 2024
Partially solves containers#846

This adds a new `--bound-images` option to `bootc install` which will
allow the user to choose how they want to handle the retrieval of LBIs
into the target's container storage.

The existing behavior, which will stay the default, is `--bound-images
stored` which will resolve the LBIs and verify they exist in the
source's container storage before copying them into the target's
container storage.

The new behavior is `--bound-images pull` which will skip the resolution
step and directly pull the LBIs into the target's container storage.

The older `--skip-bound-images` option (previously hidden) is now
removed and replaced with the new (but still hidden) `--bound-images
skip` option.

Signed-off-by: Omer Tuchfeld <[email protected]>
Signed-off-by: Colin Walters <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/install Issues related to `bootc install` area/logically-bound-images Issues related to "logically bound" images
Projects
None yet
Development

No branches or pull requests

1 participant