-
Notifications
You must be signed in to change notification settings - Fork 669
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
Official Helm Chart #248
Comments
/kind feature |
Here are the required details that are needed to make this issue qualify as a good first issue. Please use helm v3, not v2. The helm chart needs to create a The descheduler container image can be pulled from the below registry locations.
|
@seanmalloy I'm interested in picking this up and am slightly curious around the Helm v3 requirement? I understand that in a perfect world we'd all have moved to Helm v3 and all of the chart authors would have upgraded their charts to v3. However based on the current available charts it seems that most people are still using v2 charts even if they are applying them via v3. My suggestion to add this chart was to get closer alignment and it seems like only supporting Helm v3 might not be the best way to do this? Would it be worth creating two charts (v2 & v3) or due to the limited scope of this chart would it be better sticking with Helm v2 for now? Also do you have a repository for this new chart as the stable repo is no longer taking new chart submissions? |
Hi, |
The following chart has been around for a while as the author also created a Docker image. |
I'm fine with Helm v2 if you think that makes the most sense.
I'm not aware of an official location for storing k8s project helm charts. I'll reach out to wg-k8s-infra on slack to see if there is an official k8s helm repo. Other ideas ... |
@stevehipwell feel free to start working on this. Let me know if you have any additional questions. |
@stevehipwell I've asked in the |
I did not get any responses in the @ravisantoshgudimetla @aveshagarwal @damemi any concerns with using GitHub pages to host the helm repo for descheduler? |
@seanmalloy I've been on holiday for the last week but will pick this up in the next couple of days. I'm happy with the GitHub pages repo suggestion and would look at using GitHub Actions to achieve this as I've used them successfully before. |
@seanmalloy , @stevehipwell any reason not to submit a new chart in https://github.com/helm/charts? (probably incubator). I'm using the chart mentioned above, but it's out of date, and PR are waiting for consideration, if that can help speed up to initiate the official chart komljen/helm-charts#30 |
@ndegory see previous comment.
|
@stevehipwell did you have time to work on it? |
@ndegory I've not had a chance yet but I'm hoping to find some time this week. Once I have the time it should be very quick to get something done. |
@seanmalloy how does compatibility between releases work? Is it the same as usual with v0.17 being compatible with K8s v1.16, v1.17 and v1.18? |
@stevehipwell yes that is correct for now. See #288. |
Thanks @seanmalloy. RE Helm, I'm thinking a top level Helm directory containing the chart? |
That sounds good to me. |
@seanmalloy I've opened #298 which is close to being finished. I need to know what the release process for the descheduler is so I can try and align the release GitHub action to that, assuming this is what's wanted. There will also need to be a token added to the config for the release to use (I'll add instructions to the PR when ready). Finally someone might want to update the chart docs with a better overview before actually creating a release. |
Hey just check out our helm chart, its super simple but made in germany: https://bitsbeats.github.io/helm-charts/ |
@ThoTischner thanks for the example! We were actually looking for examples of how other people are publishing their charts, would you mind taking a look at some of the discussion in #298 (it's a bit long, warning) and give your insight? It looks like we're going to go with publishing the chart on a separate tagged branch, which will automatically trigger publishing through Github actions when PRs are merged to it. Does that sound similar to your implementation? |
@damemi I had a look at the PR. So it looks good to me. I did not know the chart- tagging logic. It seems to be a good idea if you have no separate repo for your charts, like we have. Our chart repo is based on the chart repo from velero: https://github.com/vmware-tanzu/helm-charts |
@ThoTischner I appreciate you taking the time to look at our PR, having the input from several different sources has been very helpful. I agree that a separate repo might be the cleanest way, though I don't know if it's feasible for us to request an entirely new repo as a sig project. So, based on your feedback I think the branching implementation in the PR is a good compromise on that level. It keeps the charts "separate" from the project code while still being reasonably managed in the same space. Thanks for your feedback! |
Thanks to @stevehipwell the descheduler helm chart is merged into the master branch! I've opened the below two pull requests to wrap up the last few steps before releasing the helm chart. |
All of the code is merged into the /remove-good-first-issue |
Another possibility: the So maybe we want to configure the checkout action (https://github.com/kubernetes-sigs/descheduler/blob/master/.github/workflows/release.yaml#L13) to have |
@damemi it looks like the assumption that I made over swapping out the default trigger of push to master to pushing a tag was incorrect as the action is hardcoded to compare the current ref to the latest tag. I'll try to think of an alternative and get back to you. |
I got it to work in my own repo by switching the Reading more into the helm releaser tool, the tool itself is what creates the new tag/release when publishing the chart. So we shouldn't be trying to create/push the tag (from what I can tell this is inherently how the Downsides to this:
|
I'm going to keep playing with it in my fork to see if I can figure out some of these problems. Anyone else should also be able to test it in their forks too, which you should have write access too (since it's your fork). |
I was wrong about the tag being alphabetical, I think |
Downside to running against master: every merged PR (without a helm version bump) will trigger a chart-releaser action that fails (https://github.com/damemi/descheduler/runs/899803075?check_suite_focus=true#step:4:23). As it should, because we'll only be bumping the chart version during a release (or a backport). So I think we need to 1) change the action to act on pushes to
We need to tag before we cut the branch because if not, just cutting the This flow also means that we can merge the helm chart version bump to master in a normal PR as part of our release process. @seanmalloy @stevehipwell what do you think of this? It's a lot simpler than the flow we originally imagined and still keeps the separate tags for charts (these are created by the action). I updated my pr in #356 with these changes |
@damemi that sounds like a sensible solution if it works with the project flow. You could take a look at how https://github.com/fluxcd/flux do theirs. They use a different action, but it also includes the lint process. |
Flux seems to be using a different chart releaser from |
@damemi yes, the flux flow is the same as the initial one we planned. It looks like the action they're using checks the version in Chart.yaml against the repo metadata on the gh-pages branch when triggered by a |
@stevehipwell @seanmalloy Success! With the changes in #357, we have:
|
Cool ... thanks for your help @damemi. I think the final step is to verify that the install instructions work now:
I think we could also remove all of the files from the |
@seanmalloy I was able to install the chart using:
Note that because we changed the chart name from Also, really thanks again @stevehipwell for working with us on this and for helping to debug it. It's great to see this working and your and @seanmalloy's efforts to iron out the kinks with me were crucial. It's great to see it working! 🎉 |
Is it not possible to update the action to publish the correct name? |
We switched the name to avoid confusion between the descheduler releases and the chart releases (which are separate but both hosted in this repo, and they'd both be called "descheduler"). I couldn't find any way to have the action publish the release under a different name than the helm chart name but if anyone else does please feel free to make that change :) |
Great job @seanmalloy & @damemi, it was a pleasure working with you!! |
Final PR to adjust some documentation ... #359. I will close this issue once that PR is merged. |
/close Thanks @stevehipwell and @damemi for your help with the helm chart. The helm chart is available and all the documentation has been updated. |
@seanmalloy: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@seanmalloy have you thought about adding the repo to https://hub.helm.sh/? |
I think it is fine if we add the descheduler helm chat there. What is the process to add it? If it's a pull request would you be willing to submit the pull request? |
@seanmalloy I'm happy to make the PR, I'll just need to know what the contact details should be for the repo (as required). You will also want to make sure that the maintainer section of the Chart.yaml file is correct. |
@stevehipwell I think we should use email address |
Now that there is an official Docker image (#144) it would be really useful if there was an official Helm chart.
The text was updated successfully, but these errors were encountered: