Skip to content
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

All Enhancement proposals in single webpage | KEPs #222

Closed
wants to merge 15 commits into from

Conversation

shekhar-rajak
Copy link

@shekhar-rajak shekhar-rajak commented Jun 8, 2021

This PR is for kubernetes/enhancements#2095 and we want a KEP webpage to find out about specific kep and its metadata easily.

  1. keps.json is generated from enhancements repo using gen-content.sh
  2. sigs.yaml is fetched from community/sigs.yaml file

Refer: kubernetes/website#28295

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: shekhar-rajak
To complete the pull request process, please assign parispittman after the PR has been reviewed.
You can assign the PR to them by writing /assign @parispittman in a comment when ready.

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/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jun 8, 2021
@shekhar-rajak
Copy link
Author

@sftim
Copy link
Contributor

sftim commented Jun 8, 2021

As well as the one-off import, we should add a tool similar to hack/gen-content.sh that does the importing. I think.

Also, it'd be great to add instructions for how to keep the KEP list current. Eventually I think we'd want to automate that, too.

Copy link
Contributor

@sftim sftim left a comment

Choose a reason for hiding this comment

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

Hi @shekhar-rajak

Here's a much less formal review, with suggestions if you want to take them.

layouts/shortcodes/keps-data.html Outdated Show resolved Hide resolved
layouts/shortcodes/keps-data.html Outdated Show resolved Hide resolved
content/en/keps/_index.md Outdated Show resolved Hide resolved
content/en/keps/_index.md Outdated Show resolved Hide resolved
content/en/keps/_index.md Outdated Show resolved Hide resolved
static/js/keps/kep_search.js Show resolved Hide resolved
layouts/shortcodes/keps-data.html Outdated Show resolved Hide resolved
layouts/shortcodes/keps-data.html Show resolved Hide resolved
layouts/shortcodes/keps-data.html Outdated Show resolved Hide resolved
layouts/shortcodes/keps-data.html Outdated Show resolved Hide resolved
@mrbobbytables
Copy link
Member

As well as the one-off import, we should add a tool similar to hack/gen-content.sh that does the importing. I think.

Also, it'd be great to add instructions for how to keep the KEP list current. Eventually I think we'd want to automate that, too.

Instead of importing directly with the hack script we can use data template to call a url and grab an updated copy of the data. A postsubmit job in the enhancements repo that generates it and dumps it to a gcs bucket with an always up to date copy would be super.

layouts/shortcodes/keps-data.html Show resolved Hide resolved
layouts/shortcodes/keps-data.html Outdated Show resolved Hide resolved
content/en/keps/_index.md Outdated Show resolved Hide resolved
layouts/shortcodes/keps-data.html Outdated Show resolved Hide resolved
shekhar-rajak and others added 4 commits June 9, 2021 21:54
Co-authored-by: Tim Bannister <tim@scalefactory.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
Co-authored-by: Nabarun Pal <palnabarun@users.noreply.github.com>
@shekhar-rajak
Copy link
Author

Instead of importing directly with the hack script we can use data template to call a url and grab an updated copy of the data. A postsubmit job in the enhancements repo that generates it and dumps it to a gcs bucket with an always up to date copy would be super.

Thanks for the suggestion. Yes, we need to have CI script that will generate the YAML/JSON file if the merge has been done for new KEP and upload it. I would like to this TODO to be completed once this page is ready and merged.

If you have suggestion how to upload in gcs bucket , please share any link/documentations/sample PR.

@sftim
Copy link
Contributor

sftim commented Jun 9, 2021

https://deploy-preview-222--kubernetes-contributor.netlify.app/keps/ is looking pretty good.

(IMO) we should only merge this if we're happy with the toil to keep it current, though. If not, let's find a way to help get that JSON document with the KEP and SIG data available so it Hugo can fetch it via HTTP GET.

(One option that springs to mind: a GitHub Pages site).

@shekhar-rajak
Copy link
Author

A GitHub bot need to upload it either in Gist/repo or any storage bucket whenever a KEP is merged in enhancement repo similarly any changes in sigs.yaml file : https://raw.githubusercontent.com/kubernetes/community/master/sigs.yaml

@shekhar-rajak
Copy link
Author

Wrong KEP-Numbers needs to be corrected at enhancement repo side like :


0000 | Cloud Provider Template | sig-cloud-provider | @janedoe
-- | -- | -- | --
0000 | Anago to Krel Migration | sig-release | @saschagrunert
0000 | A community forum for Kubernetes | sig-contributor-experience | @castrojo
0000 | Kubernetes Enhancement Proposal Process | sig-architecture | @calebamiles&nbsp;,&nbsp;@jbeda


<tr>
<td>
<a href="https://kep.k8s.io/{{ $data.kep_number }}">
{{ printf "%s" $data.kep_number }}
Copy link
Contributor

Choose a reason for hiding this comment

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

Future enhancement: replace incorrect KEP numbers with a styled ?.

@spiffxp
Copy link
Member

spiffxp commented Aug 10, 2021

To briefly repost from kubernetes/k8s.io#2490 (comment)

I'm not saying no, but simply asking are you sure you want a GCS bucket for this? Multiple sources of truth tend to drift. I'm a much bigger fan of trying to keep source of truth in a single location (repo) if it can be helped. I suggested a few alternatives.

@kikisdeliveryservice
Copy link
Member

To briefly repost from kubernetes/k8s.io#2490 (comment)

I'm not saying no, but simply asking are you sure you want a GCS bucket for this? Multiple sources of truth tend to drift. I'm a much bigger fan of trying to keep source of truth in a single location (repo) if it can be helped. I suggested a few alternatives.

I think @spiffxp proposed some good suggestions in this linked post above and think they are worth considering as I agree that it's preferable to maintain a single source of truth as opposed to a repo and bucket.

@spiffxp
Copy link
Member

spiffxp commented Aug 30, 2021

Poke. If it's a bucket you want, I have kubernetes/k8s.io#2570 up for consideration, PTAL

@sftim
Copy link
Contributor

sftim commented Sep 7, 2021

Hi. When I imagined this with a bucket, the job of keeping its contents current was going to fall to automation that builds based on what's in k/enhancements.

That approach plus this PR plus a bit more automation in this repo ought to entail no extra effort for folks proposing an enhancement, but better rendering (automatically) when they do, and possibly also better short links such as https://kep.k8s.io/2225 (not yet working)

@spiffxp
Copy link
Member

spiffxp commented Sep 13, 2021

Poke again.

When I imagined this with a bucket, the job of keeping its contents current was going to fall to automation that builds based on what's in k/enhancements.

kubernetes/k8s.io#2570 is written with that perspective in mind. Does that set of infra meet our needs?

Where we are blocked is deciding who the appropriate humans are for purposes of ownership for troubleshooting, support, and escalation. It's k8s-infra's job to make sure that the appropriate set of infrastructure is present and that the right group of people can access it. But we're not going to provision it if there are no humans willing to support it.

@spiffxp
Copy link
Member

spiffxp commented Sep 14, 2021

Rebased kubernetes/k8s.io#2570, arbitrarily chose enhancements-approvers to own the infrastructure, please raise objections there.

And please confirm it's what you want and you're going to use it. Last thing we want is zombie infrastructure. I'm going to close due to lack of activity before too long.

@sftim
Copy link
Contributor

sftim commented Sep 15, 2021

@shekhar-rajak would you be willing to clarify what areas you're happy with and where you aren't clear on? That'll help us to (try to) find folks to help with the gaps.

@shekhar-rajak
Copy link
Author

As far as I understand the usecase

  1. Write access the latest keps.yaml generate by each PR in GitHub repo kubernetes/enhancements to the gap bucket
  2. Read access to the account in this repo kubernetes/contributor-site

I would like to know , which account will be having read/write access to the bucket when CI/CD runs.
Please share If there is any sample PR/template that I can refer.

@sftim
Copy link
Contributor

sftim commented Sep 15, 2021

@salaxander you previously suggested you might have time to help out with parts of this improvement. Does this PR look like a part you'd have time to help with?

@shekhar-rajak
Copy link
Author

The PR kubernetes/k8s.io#2570 is merged. I will continue work on this PR.

@sftim
Copy link
Contributor

sftim commented Nov 25, 2021

How's this going? What help would you like, @shekhar-rajak ?

@shekhar-rajak
Copy link
Author

Hi @sftim ,

Please share a sample PR that uses GCP bucket for read and write to a file ?

  • I want to upload file in GCP bucket automatically once any PR is merged into repo kubernetes/enhancements (later on we will improve it to trigger it when specific file is updated) - if there is bot or any CI/CD is integrated then please let me know

  • Repo kubernetes/contributor-site will use the uploaded file to fetch the YAML/JSON data to display in website.

@sftim
Copy link
Contributor

sftim commented Jan 6, 2022

share a sample PR that uses GCP bucket for read and write to a file ?

The read should be easy (HTTP fetch and get Hugo to load that JSON rather than locally from data/keps/*). The write, I'm not sure how we usually do this.

@sftim
Copy link
Contributor

sftim commented Jan 6, 2022

CI/CD for Kubernetes projects is something I don't know much about I'm afraid. I can try to find people who do.

@PushkarJ
Copy link
Member

Hi @shekhar-rajak , I came across this issue (thanks to @sftim) while exploring something similar to what you are doing (writing to a bucket). I don't have a PR yet for the work I am doing, but found some useful resources and prior art that might give you hints on how to write what you want to write to the Google Cloud Bucket.

Please ignore me if you have already figured this out :)

@shekhar-rajak
Copy link
Author

Thank you @PushkarJ ! I will explore and try to use the similar existing way.

@sftim
Copy link
Contributor

sftim commented Jan 24, 2022

I'm no Prow expert - I'm not even a novice, really - but I'm happy to try to clarify any docs, provide pointers, interpret advice etc if it helps move this work forward. Feel free to ask questions @shekhar-rajak !

@k8s-triage-robot
Copy link

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

This bot triages issues and 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 issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or 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 Apr 24, 2022
@sftim
Copy link
Contributor

sftim commented Apr 25, 2022

Still worth doing IMO.
/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 25, 2022
@k8s-triage-robot
Copy link

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

This bot triages issues and 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 issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or 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 Jul 24, 2022
@palnabarun
Copy link
Member

/close

(in favor of #324)

@k8s-ci-robot
Copy link
Contributor

@palnabarun: Closed this PR.

In response to this:

/close

(in favor of #324)

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.

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. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants