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

Provide helm charts for Envoy Gateway installation #650

Closed
bmetzdorf opened this issue Oct 27, 2022 · 17 comments · Fixed by #651
Closed

Provide helm charts for Envoy Gateway installation #650

bmetzdorf opened this issue Oct 27, 2022 · 17 comments · Fixed by #651
Assignees
Labels
Milestone

Comments

@bmetzdorf
Copy link

Would be great to have helm charts.

Question for you:

Should they follow the same release cycle and versioning as Envoy Gateway itself? That would make it easy to qualify them and track changes. Many other projects don't do that and then the charts sometimes rot a bit.

@bmetzdorf bmetzdorf added the kind/enhancement New feature or request label Oct 27, 2022
@arkodg
Copy link
Contributor

arkodg commented Oct 27, 2022

thanks for raising this issue, agree, the charts should be published with every release.
also relates to #479

@bmetzdorf
Copy link
Author

@arkodg sounds great!

Maybe we can use something like https://github.com/arttor/helmify for this?

@Xunzhuo
Copy link
Member

Xunzhuo commented Oct 27, 2022

I will work on this, so I would like to assign this:)

@stevehipwell
Copy link

I'd like to suggest that the Helm chart version isn't tied to the Gateway version so it can also be release without a corresponding Gateway release. This isn't something that is generally possible and even less likely to be successful for a pre-release product with a brand new Helm chart.

@arkodg
Copy link
Contributor

arkodg commented Oct 28, 2022

@stevehipwell we release a latest release on every commit to main
https://github.com/envoyproxy/gateway/releases/tag/latest
users should be able to access bleeding edge Helm Charts from above artifcacts if they need to.
or we could also push them to a helm registry on every merge

@stevehipwell
Copy link

@arkodg would it not be better for that use case to be met by changing the chart image tag? To correctly lifecycle a chart you need a manual step after the image has been released to update Chart.yaml to set the new app and chart version (you would also need to update values.yaml if the image tag isn't based on the app version).

@danehans danehans added this to the Backlog milestone Oct 28, 2022
@bmetzdorf
Copy link
Author

@stevehipwell You make good points. We could explicitly version the Chart independently. But we would have to track which Chart versions are compatible with which EG versions (e.g have a separate Changelog for the Helm chart). I'm a fan of explicit versions (the Chart version in Chart.yaml).

Another (maybe not so standard) approach could be this: Envoy Gateway 0.3.x includes Chart versions 0.3.y, allowing for independent Chart updates while still expressing general compatibility. Just an idea..

@arkodg
Copy link
Contributor

arkodg commented Oct 28, 2022

@arkodg would it not be better for that use case to be met by changing the chart image tag? To correctly lifecycle a chart you need a manual step after the image has been released to update Chart.yaml to set the new app and chart version (you would also need to update values.yaml if the image tag isn't based on the app version).

@stevehipwell we have a similar image updating strategy for our kube yamls (eg. here), so doing something similar for helm cherts before publishing it shouldnt be too hard.
Today, all the artifacts pushed by this project (container images, GH releases containing kube install YAMLs) are based off the same version, adding another version only for charts will add complexity to the tooling .
The latest tag will always be released to access bleeding edge changes.

@stevehipwell
Copy link

@arkodg a Helm chart is effectively another application, unlike manifests which are part of the primary application and can be versioned according. I'm yet to see a scenario where an application has had it's version implicitly tied to a dependency work out (app to app, chart to app, etc). I think you'd add more complexity trying to keep the versions in sync than by having a different chart version like most of the rest of the CNCF landscape.

@arkodg
Copy link
Contributor

arkodg commented Oct 28, 2022

thanks for raising these points @stevehipwell , imho this project should follow what the rest of the landscape is doing w/o incurring too much complexity
cc @Xunzhuo

@github-actions github-actions bot added the stale label Nov 28, 2022
@Xunzhuo
Copy link
Member

Xunzhuo commented Nov 28, 2022

/stale cancel

@github-actions github-actions bot removed the stale label Nov 28, 2022
@github-actions github-actions bot added the stale label Dec 28, 2022
@Xunzhuo Xunzhuo removed the stale label Dec 28, 2022
@envoyproxy envoyproxy deleted a comment from github-actions bot Dec 28, 2022
@envoyproxy envoyproxy deleted a comment from github-actions bot Dec 28, 2022
@github-actions github-actions bot added the stale label Jan 27, 2023
@haq204
Copy link
Contributor

haq204 commented Feb 9, 2023

following up on this to see if there was a final decision made on supporting a Helm chart. If so, could we possibly add it to 0.4.0?

@stevehipwell
Copy link

I'm happy to contribute a Helm chart and the associated automation. By default this would have the following characteristics (will edit if I've forgotten any).

  • Independently versioned Helm chart
  • Chart CHANGELOG
  • Curated releases (no release spam)
  • GH pages repo
  • OCI repo (could be GHCR or alternative)
  • Cosign signature on OCI chart
  • Artifact Hub config
  • Chart changes listed in GH release (not flagged as latest so no confusion with binary)
  • Testing & conformance automation

@arkodg
Copy link
Contributor

arkodg commented Feb 9, 2023

hey @haq204 @stevehipwell Ive added this to the 0.4.0 Roadmap #987
@stevehipwell thanks for volunteering to work on this ! its currently assigned to @Xunzhuo, lets wait to hear back from him

@github-actions github-actions bot removed the stale label Feb 10, 2023
@Xunzhuo
Copy link
Member

Xunzhuo commented Feb 10, 2023

Thanks @stevehipwell, it`s already WIP with a draft PR, I plan to work on it in v0.4.0.

@stevehipwell
Copy link

@Xunzhuo let me know if you want any help with the automation?

@arkodg arkodg removed this from the Backlog milestone Feb 15, 2023
@Xunzhuo
Copy link
Member

Xunzhuo commented Feb 23, 2023

@Xunzhuo let me know if you want any help with the automation?

Hi @stevehipwell, sorry for the late reply. I start to work on this task now, I open an issue in #1072. Because this requires some refactors to toolings and conformance tests of EG. So I will take this part and send a main PR for it: #651. As for the automations part, I will send another PR for it, I will have a try, but I know you are pretty good at it. If I meet some troubles hope you can help me or I can transfer the automation task to you.

Thanks again for your interest and help in this part! @stevehipwell

@envoyproxy envoyproxy deleted a comment from github-actions bot Feb 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants