-
Notifications
You must be signed in to change notification settings - Fork 388
ci: add CI jobs to publish karpenter-kwow image and helm chart #2592
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
base: main
Are you sure you want to change the base?
Conversation
|
Hi @zamai. Thanks for your PR. I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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-sigs/prow repository. |
311669c to
83e0fc4
Compare
Rename Helm chart name from "karpenter" to "karpenter-kwok" to identify the KWOK-specific provider distribution. Add two jobs to release.yaml: - publish-kwok-image: builds and publishes the KWOK container image to GHCR using ko to ghcr.io/<repo>/karpenter-kwok:$TAG. - publish-kwok-chart: packages the KWOK Helm chart and pushes it to GHCR (OCI). It ensures a CRD symlink is replaced with the real file when present, packages the chart using the release tag as the chart version, and pushes the resulting chart archive to the repository's charts OCI registry. These changes automate publishing of the KWOK provider image and Helm chart and align chart metadata with the KWOK integration.
83e0fc4 to
61a6158
Compare
Pull Request Test Coverage Report for Build 19194951759Details
💛 - Coveralls |
DerekFrank
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally looks good to me, thanks for setting this up! I'll see if an approver can take a look at it sometime soon
9a858ed to
5f64c27
Compare
5f64c27 to
80a4a3a
Compare
moko-poi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
|
@moko-poi: changing LGTM is restricted to collaborators 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-sigs/prow repository. |
|
@moko-poi the only question left if this repo's actions have permissions to publish packages. |
|
@zamai |
| - name: Publish KWOK image | ||
| run: | | ||
| KO_DOCKER_REPO="ghcr.io/${{ github.repository }}/karpenter-kwok" ko publish ./kwok --bare -t "$VERSION" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be better to switch to GitHub Pages.
#2592 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@moko-poi so we can publish helm charts to pages, but not docker images, and we need kwok image to be published to use it in helm chart.
I don't know the structure and rules around kubernetes-sigs, I just propose the easy and transparent way to publish to ghcr directly from actions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zamai I agree that GHCR would be the simplest approach. However, similar proposals have been declined in other kubernetes-sigs projects (e.g., [metrics-server #1527](kubernetes-sigs/metrics-server#1527)).
Would registry.k8s.io be a viable alternative? It's the standard approach used by descheduler, metrics-server, and other kubernetes-sigs projects. It requires more setup (staging registry + promotion PRs), but aligns with existing conventions.
Alternatively, aws-ebs-csi-driver publishes to both registry.k8s.io and AWS ECR Public, which might be another option.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@moko-poi registry.k8s.io - yes, would be great as well. Will take a look into those repos and try to match the existing setup to publish to registry.k8s.io.
Will tag you once done in the PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@moko-poi
After reading details on how to setup building and promoting images, from staging env to the registry.k8s.io I think that the effort isn't worth the reward for me.
KWOK image and helm chart are tools for testing not something official that k8s org is publishing, so I think it's okay to keep them in GHCR.
For now I'll use images from my fork, it's pretty easy to pull upstream changes.
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: DerekFrank, zamai The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@engedaam I would not be updating PR to use |
Description
Currently there is no way of using karpenter kwok image and helm chart outside of this repo.
This PR add two jobs to release.yaml:
There is a symlink file in
karpenter/kwok/charts/crds/karpenter.kwok.sh_kwoknodeclasses.yamlhelm build does not resolve symlinks, I've added copy of real file as a step in the action.Proposed names and paths:
ghcr.io/kubernetes-sigs/karpenter/karpenter-kwokoci://ghcr.io/kubernetes-sigs/karpenter/charts/karpenter-kwokHow was this change tested?
In my repository - I've pushed images and chart, then tested them locally. Check them out here:
https://github.com/zamai?tab=packages&repo_name=karpenter
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.