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

ZEP-0013: Improve Package Publish UX #14

Closed
wants to merge 2 commits into from
Closed

Conversation

AustinAbro321
Copy link
Contributor

  • One-line PR description: Introduce initial draft of ZEP

Signed-off-by: Austin Abro <AustinAbro321@gmail.com>
Signed-off-by: Austin Abro <AustinAbro321@gmail.com>
@AustinAbro321 AustinAbro321 changed the title ZEP0013: Improve Package Publish UX ZEP-0013: Improve Package Publish UX Jan 24, 2025
[documentation style guide]: https://docs.zarf.dev/contribute/style-guide/
-->

`zarf package publish` accepts either a directory with a `zarf.yaml` file or a created Zarf package. The behavior when accepting a directory is to create and publish a [skeleton package](https://docs.zarf.dev/faq/#what-is-a-skeleton-zarf-package). This is not intuitive, the average user would most likely expect a package to be built then published. They likely wouldn't know what a skeleton package is as well. Instead we will make an explicit command `zarf package publish skeleton` for skeleton package users.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you're claiming that users don't know what a skeleton package is, why not better explain what it is and how that works, rather than introducing entirely separate command, with the skeleton name in it? IMO, the improved UX in that case is questionable. Maybe rather than calling this a skeleton package, we can just say a directory containing zarf.yaml?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree we should add this link, or at least another hook for users to better understand skeleton packages. And I think this is something we can do now whether or not this ZEP is merged. Still, I am generally not a fan of the overloaded nature this puts the publish command into. The result of the publish is entirely different when it receives a directory vs when it receives a package.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another reason behind my motivation here is that I don't believe skeleton packages are a particularly well thought out feature. They do solve a problem of making custom init packages easier to maintain, but besides that I'm not sure I've heard of anyone using them. I've also found bugs in skeleton packages that have been around for a while and were never reported. Will add this to the motivation section.

[kubernetes slack]: https://kubernetes.slack.com/archives/C03B6BJAUJ3
-->

We have seen multiple questions in Kubernetes slack asking why their package was published without images. The user assumed it was a bug, instead it was the skeleton package feature.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, if this is how this works, maybe we just need to ensure the user is aware. This can be achieve through explicitly telling them that "you're publishing a skeleton package, the images will not be pushed". Or something similar, clearly expressing this limitation.

@AustinAbro321
Copy link
Contributor Author

Closing this in favor of zarf-dev/zarf#3482, which makes it more clear to the user they are posting a skeleton package and links to the docs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants