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

Allow directly pushing archives, in particular ZIP or JAR #428

Open
voor opened this issue Aug 23, 2022 · 5 comments
Open

Allow directly pushing archives, in particular ZIP or JAR #428

voor opened this issue Aug 23, 2022 · 5 comments
Labels
carvel accepted This issue should be considered for future work and that the triage process has been completed enhancement This issue is a feature request priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.

Comments

@voor
Copy link

voor commented Aug 23, 2022

Describe the problem/challenge you have
In a popular workflow that enables a premade JAR to be accessible to Cartographer's source.image reference you actually need 2 steps:

  1. unzip the JAR file
  2. imgpkg push the contents of the JAR file.
    Several CLI implementations do this transparently, but those CLIs are serving other products primarily and do not offer a generic experience, in particular if you're not leveraging the products those CLIs are serving.

Describe the solution you'd like
imgpkg push --archive that would detect a zip, jar, or maybe even tar and push those contents.


Vote on this request

This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.

👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"

We are also happy to receive and review Pull Requests if you want to help work on this issue.

@voor voor added carvel triage This issue has not yet been reviewed for validity enhancement This issue is a feature request labels Aug 23, 2022
@joaopapereira
Copy link
Member

Hey @voor

Are you planning of using this feature with -f flag? It sounds like it could be a problem because files might overwrite themselves. Also, I assume that you will only want 1 archive per push, correct?
I think that maybe these 2 flags should exclude each other.

Since you can unzip a jar file I think zip and jar could behave the same way, implementation-wise. But eventually, if it fails it could try to see if the file can be untared.

@voor
Copy link
Author

voor commented Aug 24, 2022

The use case was exclusive use of --archive so if was mutually exclusive to -f that'd be fine.

@joaopapereira
Copy link
Member

Sounds good, let us do that.

The flag --archive and -f are mutually exclusive.
The flag --archive can only be used once.

Going to accept this issue.
As always if anyone is interested in implementing this just let us know.

@joaopapereira joaopapereira added carvel accepted This issue should be considered for future work and that the triage process has been completed priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. and removed carvel triage This issue has not yet been reviewed for validity labels Aug 24, 2022
@cppforlife
Copy link
Contributor

idea for the flag name: --file-archive. this would put it into same category as --file so it would be more naturally discoverable.

@sabeer6870
Copy link

sabeer6870 commented Nov 10, 2022

Hi, along with the JAR and zip, can this feature include the pushing of bundle.tar.gz? This bundle.tar.gz is just the compressed imgpkg directory.
So, when a user pushes imgpkg.tar.gz it should get expanded and pushed as a bundle to the oci registry.

Contents of imgpkg.tar.gz:

examples/basic-step-2
├── .imgpkg
│   ├── bundle.yml
│   └── images.yml
└── helm.tgz

expected usage:

imgpkg push -b index.docker.io/user1/simple-app-bundle:v1.0.0 -f <my_imgpkg>.tar.gz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
carvel accepted This issue should be considered for future work and that the triage process has been completed enhancement This issue is a feature request priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Projects
Status: Unprioritized
Development

No branches or pull requests

4 participants