getporter / porter

Porter enables you to package your application artifact, client tools, configuration and deployment logic together as an installer that you can distribute, and install with a single command.
https://porter.sh
Apache License 2.0
1.24k stars 211 forks source link

Run a bundle from an archive #2710

Open carolynvs opened 1 year ago

carolynvs commented 1 year ago

Is your feature request related to a problem? Please describe. If someone wants to set up a new airgapped environment with Porter there is a bit of a bootstrapping catch-22 because while a bundle only requires docker and the porter cli to run, you also need a registry in the airgapped environment as well. If you have a bundle that sets up the registry, you can't use it without already having a registry...

Describe the solution you'd like Ideally the porter install command would accept an --archive flag allowing you to install directly from the archive file, without requiring the intermediate step of having a registry. Or at the very least, porter could manage setting up a temporary registry and tearing down the container when install is completed.

Describe alternatives you've considered A workaround is to create a temporary docker registry, which is used just long enough to publish your bundle from an archive and then run the bundle. After which you can tear down the registry.

Additional context None

schristoff commented 1 year ago

I'm unsure about bypassing the registry bit, but I think an --archive flag that sets up the registry for you is a good call. Here's the porter install command for anyone who wants to start poking at this!