Skip to content

Conversation

@sparkprime
Copy link
Contributor

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.

extensions:
- extensions/v1beta1
expander:
name: GoTemplates
Copy link
Contributor

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 ?

Copy link
Contributor Author

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.

Copy link
Contributor Author

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.

Copy link
Contributor

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.

Copy link
Contributor Author

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

Copy link
Contributor

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

Copy link
Contributor Author

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.

Copy link
Contributor

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.

Copy link
Contributor Author

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.

Copy link
Contributor

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?

@sparkprime
Copy link
Contributor Author

/cc @technosophos

@technosophos
Copy link
Member

I am good with the changes, but will leave the LGTM to @Runseb, who had a few questions.

@sparkprime
Copy link
Contributor Author

@Runseb please take a look at last commit

@sparkprime
Copy link
Contributor Author

Fixes #554

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.
Copy link
Contributor

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)

Copy link
Contributor Author

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?

Copy link
Contributor

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.

@sparkprime
Copy link
Contributor Author

So I think I addressed all of these comments except the

Chart Developer: Responsible for building new charts.
Application Developer: Responsible for building applications that use charts.

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.

@jackgr
Copy link
Contributor

jackgr commented Apr 7, 2016

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.

@sparkprime
Copy link
Contributor Author

Ok I'll change

  • Service Dev: Responsible for developing new charts

to Chart developer

@sparkprime
Copy link
Contributor Author

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.

@jackgr
Copy link
Contributor

jackgr commented Apr 8, 2016 via email

@sparkprime
Copy link
Contributor Author

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 :)
Ready to LGTM?

@jackgr
Copy link
Contributor

jackgr commented Apr 8, 2016

LOL. Taking another look...

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.
Copy link
Contributor

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.

@jackgr
Copy link
Contributor

jackgr commented Apr 8, 2016

A few final nits. Otherwise, LGTM.

@sparkprime sparkprime merged commit 4d7c681 into helm:master Apr 11, 2016
MichaelMorrisEst pushed a commit to Nordix/helm that referenced this pull request Nov 17, 2023
* 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
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.

5 participants