Skip to content

Initial spike on a tool to help maintainers with KEPs #29

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

justinsb
Copy link

We create a simple website for navigating KEPs.

This is really just a first step, to give us somewhere
to put advanced features later.

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: justinsb
Once this PR has been reviewed and has the lgtm label, please assign mrbobbytables for approval. For more information see the Code Review Process.

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Feb 16, 2025
@justinsb justinsb force-pushed the add_kep_explorer branch 2 times, most recently from 4d4acc5 to a258819 Compare February 16, 2025 21:24
We create a simple website for navigating KEPs.

This is really just a first step, to give us somewhere
to put advanced features later.
@justinsb
Copy link
Author

/assign @ameukam

A KEP explorer tool for maintainers!

@ameukam
Copy link
Member

ameukam commented Feb 17, 2025

A Dark Lord at full power.
LGTM!
(this look like something we can run in a Cloud Run instance)

@justinsb IMHO, we should talk to SIG Arch to get a blessing about have the code in a dedicated repo.

@ameukam
Copy link
Member

ameukam commented Feb 17, 2025

I foresee features requests like:

package model

// KEP represents a Kubernetes Enhancement Proposal
type KEP struct {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add Created to expose creation-date from the KEP spec ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call. Right now the order is random (golang maps). I also want to get "in progress" KEPs into the same view, so we have an updated-at timestamp. I would like to claim that I didn't add the date because I figure it will change when we add support for PRs, but that would be a lie :-)

@Priyankasaggu11929
Copy link
Member

/hold

Per kubernetes/community#8297 (comment)

cc: @kubernetes-sigs/sig-contributor-experience-leads,
cc: SIG Testing leads (@aojea @BenTheElder @jbpratt @michelle192837 @pohly @xmcqueen)

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 17, 2025
Copy link
Member

@palnabarun palnabarun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please mention why this is portrayed as a new thing when there already exists the same thing owned by SIG Architecture, SIG ContribEx and Enhancements Subproject?

The KEP types you add are already present in https://github.com/kubernetes/enhancements/tree/master/api.

The KEP website was implemented roughly about 2 years ago in https://github.com/kubernetes/contributor-site/blob/master/content/en/resources/keps/_index.md.

There is prior art for what is being proposed in this PR. My suggestion would be implement your value-add ideas in addition to the existing implementation.

/cc @dims @johnbelamaric
/cc @kubernetes-sigs/sig-contributor-experience-leads

@k8s-ci-robot
Copy link
Contributor

@palnabarun: GitHub didn't allow me to request PR reviews from the following users: kubernetes-sigs/sig-contributor-experience-leads.

Note that only kubernetes-sigs members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

Can you please mention why this is portrayed as a new thing when there already exists the same thing owned by SIG Architecture, SIG ContribEx and Enhancements Subproject?

The KEP types you add are already present in https://github.com/kubernetes/enhancements/tree/master/api.

The KEP website was implemented roughly about 2 years ago in https://github.com/kubernetes/contributor-site/blob/master/content/en/resources/keps/_index.md.

There is prior art for what is being proposed in this PR. My suggestion would be implement your value-add ideas in addition to the existing implementation.

/cc @dims @johnbelamaric
/cc @kubernetes-sigs/sig-contributor-experience-leads

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.

@palnabarun
Copy link
Member

Also, please add to the next sig-arch meeting's agenda on the future features that you want to add to the KEP website and/or the KEP metadata.

@kikisdeliveryservice
Copy link

There is prior art for what is being proposed in this PR. My suggestion would be implement your value-add ideas in addition to the existing implementation.

+100 I think it makes sense to focus improvements on the already existing KEP website.

@justinsb
Copy link
Author

@palnabarun this is only the beginning of the feature-set. From the readme: "It doesn't do much yet, it is mostly setting up a framework for us to start to put value-add ideas."

We just need a UX so we can start to implement the things that will help maintainers.

@palnabarun
Copy link
Member

We just need a UX so we can start to implement the things that will help maintainers.

Why not implement them at the relevant places? We don't need or want to duplicate implementations of a KEP website.

@justinsb
Copy link
Author

Why not implement them at the relevant places?

@palnabarun see #30. The two websites may have started superficially similar, but the maintainer tool is going to rapidly become very different from the docs website (aimed at the general kubernetes audience, I assume).

If the docs website is willing to host a go webserver, by all means we can put this effort into that project (and I think that suggests a working group or SIG). But I don't think we can build half the things we want to build using only a static webserver.

@thockin
Copy link

thockin commented Feb 20, 2025

All due respect, but the kep website isn't really aimed at maintainers who are reviewing proposals. I honestly forgot it existed, because it doesn't do anything I need in those crucial 3 to 4 weeks every 4 months.

@soltysh
Copy link

soltysh commented Feb 21, 2025

My approach is very similar to what Tim expressed in previous comment, whenever reviewing KEPs (either as a SIG lead or as prod-readiness approver) I'll be jumping between the current version of the KEP that I have locally (to see the whole document) and the PR modifying to promote to next stage. Not sure what kind of behavior you're planning to add there, but quickly navigating through documents is available both in github and locally, so is search capability. Several filtering options already exists in the aforementioned KEP site as well.

Maybe it would help if you could clarify your planned features first, and see which of those are achievable in that static website and which are not. Based on the latter list enhancement subproject and sig-arch, at minimum, (maybe even pull in chairs and TLs) can decide if those features are desirable by the dev community and do we actually need to expand on that front.

@palnabarun
Copy link
Member

palnabarun commented Feb 21, 2025

As nice citizens of the community, we should totally file issues whenever we feel there's something we need from an existing area. Last I checked, that's how we did things.

Also, any KEP website is as good as the KEP data itself, the custodian of which are the KEP authors and SIG chairs.


Edit: adding on.

For most parts, even I need to browse the k/enhancements repo locally to find more information on a feature and it has been a constant challenge to dig deeper whenever archaic knowledge has been on people's minds rather than on KEPs. It is a tough problem to solve for.

+1 to having a doc/1-pager on the gaps and planned features and proceed accordingly. In all likelihood, KEP related stuff should be with sig-arch and under their purview.

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Close this PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants