carvel-dev / carvel-dev/imgpkg

Ability to extract images from bundles into a registry

Open
#60 27 comments 3 reactions 0 assignees View on GitHub
carvel accepted discussion enhancement priority/important-longterm
Dominant language
Go
Stars
284
Forks
70
PR merge metrics
No merged PRs in 30d

Description

**Describe the problem/challenge you have**
If I would like to transfer a bundle to another, private registry, I would also like the images to be extracted into the registry so they can be used in more contexts than just Kubernetes. For instance if I transfer a bundle to a private registry, all of my images are stored as sha tags on the bundle image. This makes it impossible to run these images in any context other than Kubernetes such as `docker run` without first attaining the lock file and searching for the image you would like to run.

Take the case when I have an app bundle with `simple-app` image in the bundle. I have moved this to my private registry with `imgpkg copy`. I would now like to run `docker run /simple-app` so I can debug the container. In order to do this I will need to first `imgpkg pull`, inspect the lock file contents, find the correct sha value, and then `docker run /my-bundle:sha@long-sha-value`

**Describe the solution you'd like**
I would like to have an extract command to expand my bundle back to how it was when it was created. For instance `imgpkg extract -b --to-repo `

This would then extract the captured images so I can run `docker run /simple-app`

Contributor guide

Open the contributing guide

Research direction

Start by reading the existing imgpkg copy and pull workflows and how they handle bundle images, then compare their registry and tar-file inputs. Define the extract command around the requested --to-repo behavior and verify that captured images can be addressed by their original names for docker run.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.