-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
KEP-5008: Introduce Kubernetes Desktop #5009
Conversation
joaquimrocha
commented
Dec 19, 2024
- One-line PR description: Adding new KEP 5008 for introducing a Kubernetes Desktop project
- Issue link: Introduce Kubernetes Desktop #5008
- Other comments:
Signed-off-by: Joaquim Rocha <[email protected]>
Welcome @joaquimrocha! |
Hi @joaquimrocha. Thanks for your PR. I'm waiting for a kubernetes 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. |
d1740ee
to
afba2eb
Compare
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.
In general, I think that Headlamp will be a great addition to the SIG-UI. The only requirements in my opinion for introducing new projects should be:
- Adds value to the community
- Is actively maintained
I think that both of these are met here.
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.
I think bringing Headlamp to the Kubernetes organization is a great idea. It gives users to more options and hopefully allow Headlamp to grow even more. I think the document requires some updates but I really like the idea.
4b6e7fa
to
775b4b7
Compare
ceae875
to
6d0485b
Compare
6d0485b
to
3c08c88
Compare
LGTM |
/ok-to-test |
Signed-off-by: Joaquim Rocha <[email protected]>
3c08c88
to
1ff2355
Compare
/lgtm |
Thanks for the lgtm @floreks + @maciaszczykm ! /assign @johnbelamaric |
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.
I think bringing an external project in to K8s directly should be a @kubernetes/steering-committee discussion, like creating new SIGs or WGs. But I'll let the steering committee decide if this is in their scope or not.
The proposal is to ship the Headlamp experience as a new Kubernetes Desktop | ||
and Kubernetes in-cluster UI. | ||
|
||
This means the Headlamp project will become a part of the Kubernetes project |
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.
I think @kubernetes/steering-committee should be involved in this decision.
Do you intend to follow K8s release cycles or be an independent, out-of-tree project?
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.
Can we merge as provisional (and maybe iterate) before taking it to Steering?
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.
sure
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.
After a quick skim I don't understand well if this is a donation of a repository to kubernetes or kubernetes-sigs or try to open a new project based on the referenced here, repository rules are well defined here https://github.com/kubernetes/community/blob/master/github-management/kubernetes-repositories.md#core-repositories also the SIG can sponsor a subproject https://github.com/kubernetes/community/blob/master/github-management/subproject-responsibilities.md
Can you please clarify what is the goal here?
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.
Do you intend to follow K8s release cycles or be an independent, out-of-tree project?
We may add support for new APIs / resource kinds as they are released, but it would not follow release cycles. i.e. releases are independent in that regard.
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.
Can you please clarify what is the goal here?
The goal is to have a Kubernetes Desktop app to serve as a great desktop experience for Kubernetes users, including novice and experienced, which also serves a base for other CNCF projects to built extensions on.
This proposal involves moving the headlamp-k8s/headlamp repo to Kubernetes, from which we would build the Kubernetes Desktop app. Whether the repo is to be under the official kubernetes org on Github or the kubernetes-sig org, is something I hope someone else can clarify. We are hoping to make this an official desktop app for Kubernetes, so initially we were thinking this meant that the repo could be under the kubernetes org, but the dynamics of where repos should officially live is not very clear to me.
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 would be in kubernetes-sigs (this is not a "core component that will live in every cluster" or at least I strongly doubt sig-architecture would disagree). Please see the linked documentation for the repo donation process.
This KEP is not the process to approve a new repo https://github.com/kubernetes/community/blob/master/github-management/kubernetes-repositories.md#core-repositories
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.
(Note: kubernetes-sigs is very much official, the separate orgs is a bit of a historical thing, but we do have pretty clearly written rules and process for this)
CRI or CNI may require updating that component before the kubelet. | ||
--> | ||
|
||
## Production Readiness Review Questionnaire |
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.
please fill all of this out - it's an optionally deployed service, that could be how you do feature enablement/disenablement. But it should be documented.
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.
Hi @johnbelamaric . This section seems to be aimed at standard KEPs in sense that they change core functionality in kubernetes/kubernetes . Our KEP is for a project that is run outside of Kubernetes, i.e. no feature flags involved.
Maybe some items apply, like having documentation on the kubernetes website, but I think it's a small section that applies here. Does this make sense?
- "@joaquimrocha" | ||
owning-sig: sig-ui | ||
participating-sigs: | ||
status: provisional |
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.
please fill all of this kep.yaml
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.
You mean the participating-sigs, right? I think only the sig-ui makes sense here. I will add it as the participating sig in a new PR.
/approve for provisional status |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: joaquimrocha, johnbelamaric The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This KEP is not clearly explaining the goal neither the implementation details, the folder is also wrong, it says |
reviewers: | ||
- TBD | ||
approvers: | ||
- TBD |
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.
no reviewers or approvers?
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.
I was not sure what to add here initially. Then I saw the bot was kind of guiding this so I assumed this would be added later. I will create a new PR to add these.
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.
This should not be merged without approval from leads of a sponsoring SIG, I think it only merged because @johnbelamaric approved it but that was for Production Readiness Review only. It needs both the approval of the involved SIG(s) and production readiness review (which is cross-sig and aimed and ensuring stability and the feature graduation process)
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.
Ah sorry, I thought SIG-UI had approved. I should have waited but since it was provisional I went ahead.
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.
@BenTheElder , the sponsoring SIG ( @floreks or @maciaszczykm ) members did give their LGTM. I thought that counted as approval. Is there something else needed from them?
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.
Ah, preferably this should be done via /approve which is recorded in the robot approval message, and also listed reviewers / approvers in the KEP metadata (this can be reflected elsewhere for KEP tracking). This prevents it being lost deep in the thread 🙃
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.
#5009 (comment) (Makes it look like John only, contributors are used to looking for the approval status in this comment which will be updated down the thread with the current status)
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.
I think sig-ui was a new directory, so there were no sig-ui OWNERS
latest-milestone: "v1.19" | ||
|
||
# The milestone at which this feature was, or is targeted to be, at each stage. | ||
milestone: | ||
alpha: "v1.19" | ||
beta: "v1.20" | ||
stable: "v1.22" |
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.
the metadata is wrong, I wonder if you really needed a KEP for this
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.
Right. Our KEP is not changing kubernetes's core nor is dependent/following a particular version.
I think I left the milestones like this because this section was needed? I am happy to remove it or adapt it as appropriate.
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.
The point is: does this need a KEP at all?
If it's only about contributing some source code to SIG UI, then talk to that SIG in their SIG meetings and then come back for repo creation following the process in https://github.com/kubernetes/community/blob/master/github-management/subproject-responsibilities.md
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.
We do have KEPs for changes that don't have milestones.
If we want to change project policy (example: we'd encourage SIGs to ship Headlamp plugins and to build for Headlamp), a KEP is useful.
If we're only adopting a donated component, I don't see a need for a KEP.
I think we should propose making Headlamp (or some other name for the same component) official and endorsed. Personal opinion.
Hi @aojea . I thought the summary of the KEP was clear, apologies if it's confusing. Hopefully my comment at #5009 (comment) clarifies this. |
Just to clear a few things, as a SC liaison for SIG-UI. I discussed with SIG-UI leads (2/3 which approved this PR) they will work on updating the missing and problematic bits in a follow PR. Those include, but is not :
Once the KEP is cleared up they will follow the usual process for donating repositories. I will be personally overlooking the KEP updates and the donation process. |
To maybe make things a bit clearer, there are 2 main parts being discussed: 1. Having Kubernetes Desktop which is a desktop application that provides a UI based on Headlamp for Kubernetes users and developers (main point of the KEP); 2. Moving the headlamp repo from the headlamp-k8s into the kubernetes-sigs, from which the Kubernetes Desktop application will be built. |
Thank you Maciej |
Let's focus on 2 for now, since that's the main part to start with. The decision for kubernetes desktop should be carefully reconsidered, since that might suggest that being the one solution for k8s desktop, which I believe this project is not aiming to be. Once you achive the repository migration, we can return into those conversations afresh and please make sure to include me in those. |
(I also wouldn't suggest renaming unless it's tied up in a commercially owned brand name that cannot be donated, because it will lose existing brand recognition, versus just donating the repo named as-is, see eg karpenter for a recent example) |
Sure! I will check from https://github.com/kubernetes/community/blob/master/github-management/kubernetes-repositories.md#rules-for-donated-repositories what we are missing. I think we have already quite a few of these checked since we are a sandbox project. |