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

SIG Network: add best practices guide for API extensions #8104

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

shaneutt
Copy link
Member

This PR is a follow up to a mailing list discussion about the trend of new APIs being developed as CRDs in upstream.

This adds a guide to our community pages which provides help, insights and best practices for future CRD-based API developments based on the experiences of those who have done it previously (like Network Policy and Gateway API). The intention is to help make developing these CRD-based APIs easier for developers, but (most importantly) making the experience for end-users easier, and more consistent.

Note: this is in draft as there are several sections not yet filled out. It's not ready for general review yet. If you're interested helping with this doc, please feel to message me on Slack, or put a PR into my fork it would be great to collaborate with others on it!

@k8s-ci-robot
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. sig/network Categorizes an issue or PR as relevant to SIG Network. labels Oct 10, 2024
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: shaneutt

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

@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Oct 10, 2024
@shaneutt shaneutt changed the title docs: add best practices guide for API extensions SIG Network: add best practices guide for API extensions Oct 10, 2024
sig-network/api-extensions-best-practices.md Show resolved Hide resolved
sig-network/api-extensions-best-practices.md Outdated Show resolved Hide resolved
sig-network/api-extensions-best-practices.md Outdated Show resolved Hide resolved
sig-network/api-extensions-best-practices.md Outdated Show resolved Hide resolved
sig-network/api-extensions-best-practices.md Outdated Show resolved Hide resolved
[geps]:https://github.com/kubernetes-sigs/gateway-api/blob/main/geps/overview.md
[npeps]:https://github.com/kubernetes-sigs/network-policy-api/tree/main/npeps

#### Motivation Focused Enhancement Proposals
Copy link
Contributor

Choose a reason for hiding this comment

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

This applies to KEPs too. And "new working group" proposals...

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes indeed. 👍

What action do you want to see taken here?

sig-network/api-extensions-best-practices.md Outdated Show resolved Hide resolved
sig-network/api-extensions-best-practices.md Outdated Show resolved Hide resolved
sig-network/api-extensions-best-practices.md Show resolved Hide resolved
@shaneutt shaneutt force-pushed the shaneutt/sig-network-api-extensions-best-practices branch from 7e0144f to b3ba9d7 Compare October 17, 2024 20:38
current sub-projects:

* [Gateway Enhancement Proposals (GEPs)][geps]
* [Network Policy Enhancement Proposals (NPEPs)][npeps]
Copy link
Contributor

Choose a reason for hiding this comment

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

Cluster API, while under a different sig, also has similar problems I think. They use CAEPs. If you want to expand the scope of this beyond network at some point, might be good to include as an example

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, making this more broad is definitely on the table. Making SIG Network the starting point and scope limit for the first iteration is mostly about wanting to get something out there quicker at the networking scope to help our upcoming multi-networking efforts, and potentially other projects like KNI.

Comment on lines +84 to +85
> (version is v1 or greater) with a `*.k8s.io` group **MUST** go through the API
> review process with the SIG Network leads for any content considered
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it just sig network that review the API graduation? I was under the impression K8s had a set of API reviewers responsible for this, sig-api-machinery folks maybe?

Copy link
Member

Choose a reason for hiding this comment

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

there is a set of people that holds the API reviewer "title", but independently , SIGs TLs are responsible of the technical side of the area https://github.com/kubernetes/community/blob/master/committee-steering/governance/sig-governance.md#tech-lead

@aojea
Copy link
Member

aojea commented Oct 25, 2024

/hold

after more closely reviewed on this topic it is clear that there are still a lot of details to flesh out on gateway design of CRD

We should work closely with API machinery on this topic

@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 Oct 25, 2024
@shaneutt shaneutt force-pushed the shaneutt/sig-network-api-extensions-best-practices branch from 1bae0c1 to a16cfd0 Compare November 8, 2024 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. 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. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. sig/network Categorizes an issue or PR as relevant to SIG Network. 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.

7 participants