|
23 | 23 | - [Integration tests](#integration-tests)
|
24 | 24 | - [e2e tests](#e2e-tests)
|
25 | 25 | - [Graduation Criteria](#graduation-criteria)
|
| 26 | + - [Alpha](#alpha) |
26 | 27 | - [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
|
27 | 28 | - [Version Skew Strategy](#version-skew-strategy)
|
28 | 29 | - [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
|
@@ -362,67 +363,10 @@ outlined above will be added.
|
362 | 363 |
|
363 | 364 | ### Graduation Criteria
|
364 | 365 |
|
365 |
| -<!-- |
366 |
| -**Note:** *Not required until targeted at a release.* |
367 |
| -
|
368 |
| -Define graduation milestones. |
369 |
| -
|
370 |
| -These may be defined in terms of API maturity, [feature gate] graduations, or as |
371 |
| -something else. The KEP should keep this high-level with a focus on what |
372 |
| -signals will be looked at to determine graduation. |
373 |
| -
|
374 |
| -Consider the following in developing the graduation criteria for this enhancement: |
375 |
| -- [Maturity levels (`alpha`, `beta`, `stable`)][maturity-levels] |
376 |
| -- [Feature gate][feature gate] lifecycle |
377 |
| -- [Deprecation policy][deprecation-policy] |
378 |
| -
|
379 |
| -Clearly define what graduation means by either linking to the [API doc |
380 |
| -definition](https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-versioning) |
381 |
| -or by redefining what graduation means. |
382 |
| -
|
383 |
| -In general we try to use the same stages (alpha, beta, GA), regardless of how the |
384 |
| -functionality is accessed. |
385 |
| -
|
386 |
| -[feature gate]: https://git.k8s.io/community/contributors/devel/sig-architecture/feature-gates.md |
387 |
| -[maturity-levels]: https://git.k8s.io/community/contributors/devel/sig-architecture/api_changes.md#alpha-beta-and-stable-versions |
388 |
| -[deprecation-policy]: https://kubernetes.io/docs/reference/using-api/deprecation-policy/ |
389 |
| -
|
390 |
| -Below are some examples to consider, in addition to the aforementioned [maturity levels][maturity-levels]. |
391 |
| -
|
392 | 366 | #### Alpha
|
393 | 367 |
|
394 |
| -- Feature implemented behind a feature flag |
395 |
| -- Initial e2e tests completed and enabled |
396 |
| -
|
397 |
| -#### Beta |
398 |
| -
|
399 |
| -- Gather feedback from developers and surveys |
400 |
| -- Complete features A, B, C |
401 |
| -- Additional tests are in Testgrid and linked in KEP |
402 |
| -
|
403 |
| -#### GA |
404 |
| -
|
405 |
| -- N examples of real-world usage |
406 |
| -- N installs |
407 |
| -- More rigorous forms of testing—e.g., downgrade tests and scalability tests |
408 |
| -- Allowing time for feedback |
409 |
| -
|
410 |
| -**Note:** Generally we also wait at least two releases between beta and |
411 |
| -GA/stable, because there's no opportunity for user feedback, or even bug reports, |
412 |
| -in back-to-back releases. |
413 |
| -
|
414 |
| -**For non-optional features moving to GA, the graduation criteria must include |
415 |
| -[conformance tests].** |
416 |
| -
|
417 |
| -[conformance tests]: https://git.k8s.io/community/contributors/devel/sig-architecture/conformance-tests.md |
418 |
| -
|
419 |
| -#### Deprecation |
420 |
| -
|
421 |
| -- Announce deprecation and support policy of the existing flag |
422 |
| -- Two versions passed since introducing the functionality that deprecates the flag (to address version skew) |
423 |
| -- Address feedback on usage/changed behavior, provided on GitHub issues |
424 |
| -- Deprecate the flag |
425 |
| ---> |
| 368 | +- Feature implemented behind `AdmissionWebhookMatchConditions` feature flag |
| 369 | +- [Integration tests](#integration-tests) implemented |
426 | 370 |
|
427 | 371 | ### Upgrade / Downgrade Strategy
|
428 | 372 |
|
|
0 commit comments