-
Notifications
You must be signed in to change notification settings - Fork 7.5k
Chart md #561
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
Chart md #561
Conversation
docs/design/chart_format.md
Outdated
| extensions: | ||
| - extensions/v1beta1 | ||
| expander: | ||
| name: GoTemplates |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this work for current helm/charts that are not GoTemplates. In the sense that they are not parameterized ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The expander is mandatory in the current implementation, so no. I suppose we could modify the behavior such that if no expander is given in the chart, the chart is simply not expanded. However this still takes some code to parse it as YAML, handle the errors, and no code exists in manager to do that right now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also the string "GoTemplates" may change after Jack integrates that expander.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fine, but what happens to the current chart that we are talking about merging which don't need expansion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They won't work for several reasons including that. Literally the only thing that actually works right now is DM-based charts. When the go templates expander is integrated, in order to work in the current implementation, they need to be changed to return DM types instead of K8s resources. I believe then they will work. That change is one of the items in #520
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, I think it is important to keep existing charts running.
Otherwise, why merge them ?
if we can pass through when no expander is specified then fine. but this needs to work in MVP.
so LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 to having a semantics for "no expander". There is probably a good pattern here -- charts with no expander can live at the root and be closed functions. I will have to change the doc though to reflect that design.
FWIW We want to merge the charts and modify them so they work and are really useful. E.g. we will probably want to parameterise most of them, and will have to convert them all to return DM types. So the expander field isn't a big deal in the scheme of things.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure what you mean by "live at the root". All content should still be in the templates directory, although we might want to rename that directory to content as proposed in a comment on an earlier version of this file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The root of the layout, not the chart.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The layout? Do you mean the templates directory?
|
/cc @technosophos |
|
I am good with the changes, but will leave the LGTM to @Runseb, who had a few questions. |
|
@Runseb please take a look at last commit |
|
Fixes #554 |
docs/design/chart_format.md
Outdated
| We have attempted to build a proposal that does not lose any of the functionality of DM, and which loses only Helm functionality that we believe is disposable. But both tools will need to change substantial portions of their chart-handling logic. | ||
| ### Non-Goals | ||
| This proposal doesn’t define how either the client or the server must use this data, though we make some non-normative recommendations (e.g. “this data may be displayed to the user” or “a suitable backend will be able to translate this to a fully qualified URL”). | ||
| This design does not lose any of the functionality of DM, and which loses only Helm functionality that we believe is disposable. But both tools have changed substantial portions of their chart-handling logic. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this is the first time the acronym DM is used, the meaning should be spelled out, and the acronym placed in parentheses, like this:
Deployment Manager (DM)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about deleting the paragraph entirely?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmmm. I think it's actually useful, because it provides context for people coming from the previous projects. That said, it's the kind of thing that could live in README.md, not here.
|
So I think I addressed all of these comments except the suggestion which I'm not confident is a good idea. These are roles that we would be defining here, rather than roles people already understand. I agree that section could use more work though. It is now in a separate file. |
|
What's wrong with Chart Developer and Application Developer? People definitely understand Application Developer. Chart Developer was a proposal to replace Definition Developer, which is totally vague. |
|
Ok I'll change
to Chart developer |
|
I'm not sure about application developer because we haven't defined what an application is, and the term is used in a lot of other contexts with very specific meanings. |
|
OK. Then how about Chart User?
|
|
Looks like I did in fact change it to "App dev" and just forgot about it, and then argued against doing what I'd already done. Kinda shows you how much context switching I'm doing right now :) |
|
LOL. Taking another look... |
docs/design/chart_format.md
Outdated
| Based on these, our design goal is to make it **easy to find, use, author, release, and maintain charts**, while still making it possible for advanced users to build sophisticated charts. Furthermore, we have begun the process of **attaching provenance to charts**. | ||
| Based on these, our design goal is to make it **easy to find, use, author, release, and maintain charts**, while still making it possible for advanced users to build sophisticated charts. | ||
|
|
||
| This design does not lose any of the functionality of Deployment Manager (DM), and which loses only Helm functionality that we believe is disposable. But both tools have changed substantial portions of their chart-handling logic. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This design is based on the integration of Deployment Manager (DM) and Helm, formerly at github.com/deis/helm. It does not lose any of the functionality of DM, and loses only Helm functionality that we believe is disposable. Substantial portions of the chart and template handling logic from the original implementations of these two tools have changed as a result of this integration. The new chart format, described in this document, is one of the primary drivers of those changes.
|
A few final nits. Otherwise, LGTM. |
* readme example for failing when values file is missing Believe this would assist with helm#548 * Update README.md Using documentation yanked from searching for the key missingFileHandler https://github.com/roboll/helmfile/search?q=missingFileHandler&unscoped_q=missingFileHandler
I added the new chart.yaml fields, removed fields not supported in the current backend. Also changed some of the language to reflect this is no longer a proposal but an existing thing.
edit: The intention here is to document existing behavior for users cloning the repo right now.