Skip to content

[Process improvement]: Make an easy-to-navigate website to find and query KEPs #2095

@lasomethingsomething

Description

@lasomethingsomething

This issue documents the roadmap/plan for a key 1.20 process-related objective.

What Is the Website

  • An up-to-date index with links to tracking issues and KEPs
  • Displays KEPs similar to how Python displays PEPs, with more detail
  • Would be part of the Contributor website

Why Do We Need It

Who's Needed, Who's Helping, Who's Informed

Needed:

  • SIG contributors for Step 1, to update KEP metadata
  • Anyone with experience working with Hugo data templates for steps 2-4

Helping:

  • @palnabarun has volunteered to work on this
  • @sftim will look for “Good First Issues”

Informed:
/sig docs
/sig contributor-experience
/sig architecture

How Do We Get There: Implementation Steps and Notes

  • 1. SIGs get their metadata happy/valid, because the site will read from this metadata
  • 2. Programmatically generate KEP metadata dump for Hugo (kepify, jq/yq etc)
    • For Netlify/Kepify, maybe an NPM wrapper that then runs Hugo
    • Kepify = Netlify: will either be Go or bash (if a script to produce it)
    • Once the metadata is consistent, we can render it all in a table quite easily
    • We don't have to surface the KEP directly yet, just the metadata and links back to the actual thing
  • 3. Automate updating of data on merge (prow job dump, a JSON blob somewhere, etc)
  • 4. Integrate data dump into Hugo
    • Hugo can query for data at site build time, including from public HTTP APIs via Hugo Data Templates

Related Action Item: Preparing for 1.21

  • @kikisdeliveryservice will survey not-updated KEPs + their enhancement status and use results to assert that updates should be required for inclusion in a 1.21 release via kepval or something else; we'll make this blocking in 1.21
    • We have the most leverage when people want to be in the milestone
    • people are updating at our request now because they want to be in the milestone

Potential Next Iterations/Milestones

  • Using the metadata, capture which release a KEP went into, at what stage
    • Making it so that docs contributors no longer have to use git bisect against k/k to work out this kind of detail
  • Linking to Feature Gates
    • SIG Docs contributors would like to use this effort as groundwork for a future enhancement: tracking all Feature Gates and having their status available as an API that can be consumed by https://kubernetes.io/; graduating a feature automatically, updating documentation pages that mention it.
  • Supports Social media guidelines for Enhancements (holding this until the website is running)

Metadata

Metadata

Assignees

Labels

area/enhancementsIssues or PRs related to the Enhancements subprojectlifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.sig/architectureCategorizes an issue or PR as relevant to SIG Architecture.sig/contributor-experienceCategorizes an issue or PR as relevant to SIG Contributor Experience.sig/docsCategorizes an issue or PR as relevant to SIG Docs.tracked/out-of-treeDenotes an out-of-tree enhancement issue, which does not need to be tracked by the Release Team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions