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

porter bundle publish command #254

Closed
carolynvs opened this issue Apr 8, 2019 · 5 comments
Closed

porter bundle publish command #254

carolynvs opened this issue Apr 8, 2019 · 5 comments
Assignees
Labels
0 - 🚨🍩 Emergency donuts come first
Milestone

Comments

@carolynvs
Copy link
Member

carolynvs commented Apr 8, 2019

We need a new command porter bundle publish, alias porter publish that uses cnabio/duffle#681 to push a bundle to a docker registry.

porter  publish [--file myapp/porter.yaml] [--tag altreg/myapp:tag] [--cnab-file bundle.json]
  • --file defaults to the bundle in the current directory
  • --tag defaults to a tag specified in the porter.yaml. This would be a new manifest field, Tag.
  • --cnab-file is an optional flag (cannot be specified when --file is present), that points to a bundle.json and is used for non-porter bundles only.

We aren't using the push verb because it's a composite command doing multiple bits of work under the hood:

  • This should follow the behavior outlined in Improve abstraction over CNAB #320, namely ensuring that cnab/bundle.json is up-to-date with porter.yaml before pushing, and potentially rebuilding.
  • Push the invocation image.
  • Push the bundle manifest.
  • TODO: I forgot the rest, sorry. Will fill in later.
@carolynvs carolynvs added this to the KubeCon EU milestone Apr 8, 2019
@carolynvs carolynvs self-assigned this Apr 8, 2019
@carolynvs carolynvs added the 0 - 🚨🍩 Emergency donuts come first label Apr 28, 2019
@carolynvs carolynvs changed the title porter bundle push command porter bundle publish command May 6, 2019
@vdice
Copy link
Member

vdice commented May 6, 2019

Do we need a separate issue to track removing the invocation image push step from porter build (assuming consensus on this change is met)? Or add to AC to this one?

@carolynvs
Copy link
Member Author

If we remove it, without making any other change, will stuff still work? Or do we need do it as part of publish at the same time to not break porter?

@vdice
Copy link
Member

vdice commented May 8, 2019

If we remove it without making any other change, local bundle installation will continue to work (assuming using same docker daemon as image was built with) but the bundle may not be installable by another user on a different machine (unless porter build is run on their machine from same bundle source).

I would think adding it as part of publish in this/same set of commits would make the most sense, to cover the latter case mentioned above. It feels 'right' that the invocation image would/should only be pushed to a remote repo when the bundle is published.

@carolynvs
Copy link
Member Author

Ok, sounds good to me to do it all in a single PR then.

@jeremyrickard
Copy link
Contributor

CLOSED BY OTHER PRS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 - 🚨🍩 Emergency donuts come first
Projects
None yet
Development

No branches or pull requests

3 participants