draft-classic icon indicating copy to clipboard operation
draft-classic copied to clipboard

Use a Helm chart already published

Open ledor473 opened this issue 8 years ago • 11 comments

Hi,

Could draft be used with an Helm chart that is already published to an Helm repository?

With the current design draft seems to generate a repository with the chart but could we publish that chart once and just provide the values.yaml needed for that specific application?

I feel like committing the same chart in multiple git repositories will make it hard to upgrade or change the initial chart.

Best regards

ledor473 avatar Nov 21 '17 20:11 ledor473

Hmm, I haven't thought about that use case before. How would that look from the user's point of view?

bacongobbler avatar Nov 24 '17 23:11 bacongobbler

The main difference from a user standpoint would be that a values.yaml is provided instead of a full helm chart. As for versioning, either we create a draft.yaml that tells which version of the chart to use or we do an helm fetch and keep the tgz in Git.

draft could provide a public Helm repository with all the charts used by the builtin packs. That way if we ever need to update the charts (like when Deployment will be stable instead of beta), that could be handled at a more larger scale.

I was also thinking it would be cool to use draft for repo that contains nginx or httpd configuration. That might not be possible anymore with the recently move from the detect script to github/linguist but still I feel like it would be pretty cool!

ledor473 avatar Nov 30 '17 16:11 ledor473

Draft currently has a chart available in its source code which you can use helm install ./charts/draftd/ to install it. I pushed against publishing this in the meantime because there is a lot of setup required with installing the chart which draft init handles, but I can see that viewpoint.

bacongobbler avatar Nov 30 '17 16:11 bacongobbler

Publishing draftd chart might not be ideal.

What I meant is that we could publish the charts that are currently part of the packs: https://github.com/Azure/draft/tree/master/packs

So instead of packaging them inside the packs, they would be published to some repo and draft would just fetch the proper version

ledor473 avatar Nov 30 '17 16:11 ledor473

Ah I see what you mean now.

If you could write up a technical design document and a PR to accompany it, I don't see why we can't handle that. We won't be able to do this work ourselves given our current workload, but PRs are accepted!

bacongobbler avatar Nov 30 '17 16:11 bacongobbler

Was there every any progress on this? Duplicating the same old generated charts across projects seems very counter productive to what Helm tries to promote. Being able to specify the chart, repo and version in the draft.toml and providing a local values.yaml would be fantastic

rawkode avatar Apr 30 '18 14:04 rawkode

There has not been any progress on this proposal but we love contributions! :)

bacongobbler avatar May 03 '18 05:05 bacongobbler

Hi! I worked on using Draft with an existing chart and hope to document it soon enough.

Essentially, for any existing chart you can add the Draft specific labels and annotations and it should work. Docs soon 😄

However, for now you need the chart in your local folder - how often would you work against a remote chart?

radu-matei avatar May 10 '18 08:05 radu-matei

I always work against remote charts. Charts aren't special, they're usually "web-deployment" or "kafka-consumer"; so the logic is contained and utilised by many applications.

rawkode avatar May 14 '18 09:05 rawkode

Hi @radu-matei Can you please let me know how you have configure draft to use existing helm chart ? I'm currently trying to do this but with no luck. I have added buildID anotation in deployment.yaml but still draft is unable to inject buildID in it.

Thanks

mumarniaz avatar Jan 29 '19 10:01 mumarniaz

@mumarniaz there should be an draft-app label as well, if I remember correctly. Check some of the packs chart.

bjornmagnusson avatar Jan 29 '19 20:01 bjornmagnusson