Skip to content

Update GEP overview to clarify the GEP process #1797

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

Merged
merged 3 commits into from
Mar 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 33 additions & 2 deletions geps/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,36 @@ process for the main Kubernetes project:

## Process

### 1. Circulate the Idea
This diagram shows the state diagram of the GEP process at a high level, but the details are below.

<div align="center">
```mermaid
flowchart TD
D([Discuss with<br />the community]) --> C
C([Issue Created]) --> Provisional
Provisional -->|GEP Doc PR<br />done| Implementable
Provisional -->|If practical <br /> work needed| Prototyping
Prototyping -->|GEP Doc PR<br />done| Implementable
Implementable -->|Gateway API<br />work completed| Experimental
Experimental -->|Supported in<br />multiple implementations<br />+ Conformance tests| Standard
Standard -->|Entire change is GA or implemented| Completed
```
</div>

### 1. Discuss with the community
Before creating a GEP, share your high level idea with the community. This can
be in one of many forms:

- A [new GitHub Discussion](https://github.com/kubernetes-sigs/gateway-api/discussions/new)
- On our [Slack Channel](https://kubernetes.slack.com/archives/CR0H13KGA)
- On one of our [community meetings](https://gateway-api.sigs.k8s.io/contributing/?h=meetings#meetings)

### 2. Agree on the Goals
### 2. Create an Issue
[Create a GEP issue](https://github.com/kubernetes-sigs/gateway-api/issues/new?assignees=&labels=kind%2Ffeature&template=enhancement.md) in the repo describing your change.
At this point, you should copy the outcome of any other conversations or documents
into this document.

### 3. Agree on the Goals
Although it can be tempting to start writing out all the details of your
proposal, it's important to first ensure we all agree on the goals. The first
version of your GEP should aim for a "Provisional" status and leave out any
Expand Down Expand Up @@ -58,6 +79,16 @@ any of the following:
2. Graduating fields to "standard" by removing `<gateway:experimental>` tags
3. Graduating a concept to "standard" by updating documentation

### 6. Close out the GEP issue

The GEP issue should only be closed once the feature has:
- Moved to the standard channel for distribution (if necessary)
- Moved to a "v1" `apiVersion` for CRDs
- been completely implemented and has wide acceptance (for process changes).

In short, the GEP issue should only be closed when the work is "done" (whatever
that means for that GEP).

## Status

Each GEP has a status field that defines it's current state. Each transition
Expand Down
1 change: 1 addition & 0 deletions hack/make-docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ esac
}

# Move GEPs to site-src
rm -rf site-src/geps
cp -r geps site-src/geps

# Ensure site dir exists
Expand Down