You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit updates the GEP process documentation
with some more information on what is required
to move between GEP states.
Also updates the GEP template to match the documented
requirements for shifting levels.
Signed-off-by: Nick Young <[email protected]>
C([Issue Created]) -->|GEP PR with Who/What/Why merged| Provisional
25
+
Provisional -->|GEP Doc PR with _proposed_ API details merged| Prototyping
26
+
Provisional -->|GEP Doc PR with agreed API details merged| Implementable
27
+
Prototyping -->|GEP Doc PR with agreed API details merged| Implementable
28
+
Implementable -->|API Changes implemented in Go types and YAML| Experimental
29
29
Experimental -->|Supported in<br />multiple implementations<br />+ Conformance tests| Standard
30
30
Standard -->|Entire change is GA or implemented| Completed
31
31
@@ -111,22 +111,38 @@ Please default to GitHub discussions: they work a lot like GitHub issues which
111
111
makes them easy to search.
112
112
113
113
### 2. Create an Issue
114
+
114
115
[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.
115
116
At this point, you should copy the outcome of any other conversations or documents
116
117
into this document.
117
118
118
-
### 3. Agree on the Goals
119
+
### 3. `Provisional` - Agree on the Goals
120
+
119
121
Although it can be tempting to start writing out all the details of your
120
122
proposal, it's important to first ensure we all agree on the goals.
121
123
122
124
For API GEPs, the first version of your GEP should aim for a "Provisional"
123
125
status and leave out any implementation details, focusing primarily on
124
-
"Goals" and "Non-Goals".
126
+
"Goals" and "Non-Goals", and documenting "Who" the GEP is for, "What" the
127
+
GEP will do, and "Why" it is needed. For this reason, the `Provisional`
128
+
state is also sometimes called the "Who/What/Why" stage.
125
129
126
130
For Memorandum GEPs, the first version of your GEP will be the only one, as
127
131
Memorandums have only a single stage - `Accepted`.
128
132
129
-
### 3. Document Implementation Details
133
+
The `Provisional` state is different to other states (aside from `Memorandum`),
134
+
in that iteration on it can occur outside of the usual Gateway API release process.
135
+
To put this another way, until we have agreement on the "Who/What/Why",
136
+
then the PR does not fall into the regular release process.
137
+
138
+
GEPs entering the `Provisional` phase need the following to have occurred:
139
+
140
+
* A GEP PR using the template in GEP-696 merged into the `geps/` directory,
141
+
describing the "Who", "What", and "Why" of the proposal, along with Goals
0 commit comments