Skip to content

Chart name must be unique per version#7

Closed
technosophos wants to merge 1 commit intohelm:masterfrom
technosophos:docs/proposal-chart-yaml-name
Closed

Chart name must be unique per version#7
technosophos wants to merge 1 commit intohelm:masterfrom
technosophos:docs/proposal-chart-yaml-name

Conversation

@technosophos
Copy link
Member

This changes the metadata.name attribute on the Chart.yaml file to be
unique per chart version. This is an unfortunate burden of making it
possible to install the Chart.yaml into a cluster, and have the name be
unique per thing we care about.

h/t to @kfox1111 for noticing this.

This changes the `metadata.name` attribute on the Chart.yaml file to be
unique per chart version. This is an unfortunate burden of making it
possible to install the Chart.yaml into a cluster, and have the name be
unique per thing we care about.

h/t to @kfox1111 for noticing this.
@technosophos technosophos force-pushed the docs/proposal-chart-yaml-name branch from 57ef07a to a471142 Compare March 19, 2018 15:08
@technosophos technosophos mentioned this pull request Mar 19, 2018
kind: Chart
metadata:
name: myChart
name: myChart-0.1.0
Copy link
Contributor

Choose a reason for hiding this comment

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

Ick. For three reasons:

  1. There is a version property and the version in the name.
  2. How many people would expect the name to include a version? It's going to make people have to think.
  3. If we are working with the Application CRD, why does the Chart.yaml need to be install-able? What's the use case?

Copy link
Member

Choose a reason for hiding this comment

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

I agree with Matt that this will be confusing. With the Application CRD and Release/ReleaseVersion CRDs, I also think that the Chart.yaml doesn't need to be installable. IMO Chart.yaml should be used for chart repo metadata (index.yaml) and used to generate Application, Release and ReleaseVersion objects.

Copy link
Member Author

Choose a reason for hiding this comment

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

We don't really know if we are going to use the Application CRD. It's still too much in flux.

But if we do, there's probably no compelling reason to turn the Chart.yaml into a resource-like thing anyway.

The problem is that in the present spec, there can only be one such application/version per namespace, which is not at all the desired behavior. And the only way to get around that is to change the metadata.name field.

Copy link
Contributor

Choose a reason for hiding this comment

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

We don't really know if we are going to use the Application CRD. It's still too much in flux.

We should figure out the criteria on go/no-go soon. At least for first pass on direction. If we don't go the Application CRD and everyone else does we end up shifting expectations onto chart developers to create this if they want to do things like display their apps in dashboard.

The problem is that in the present spec, there can only be one such application/version per namespace

I'm not sure why a name needs to have a unique name/version. What if, in the same namespace, I deploy multiple wordpress charts at the same version? Uniqueness is gone for a name in a namespace in this model.

What's the underlying use case?

Copy link
Member Author

Choose a reason for hiding this comment

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

Unique name is imposed by Kubernetes.

So the bottom line to me is:

  • If we are modeling a Chart.yaml as something installable, then we have to design it to be actually installable.
  • Otherwise, can we just drop the "let's pretend this is a Kubernetes resource" crap and stick with our simpler YAML format from Helm 2?

Copy link
Member Author

Choose a reason for hiding this comment

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

See #12, which is probably the better course of action.

@technosophos technosophos self-assigned this Mar 19, 2018
@technosophos
Copy link
Member Author

Closed in favor of #12

scottrigby added a commit to scottrigby/community that referenced this pull request Feb 26, 2026
- Fix security section: plugins downloaded, not pre-packaged in charts
- Replace Pkl with YamlScript as primary render example (Pkl blocked on
  Java/Wasm support, but kept in file targeting examples)
- Move SDK API from open issues to specification (already designed)
- Move Airgap Support from open issues to specification (decided on
  registries.conf)
- Add SourceFiles to built-in objects, link Template to open issue
- Clarify implementation plan: ref impl complete, upstream pending
- Add rejected idea helm#7: pre-packaging plugins within charts
- Update reference link to YamlScript Helm discussion

Signed-off-by: Scott Rigby <scott@r6by.com>
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.

4 participants