- Summary
- Motivation
- Proposal
- Design Details
- Production Readiness Review Questionnaire
- Implementation History
- Drawbacks
- Alternatives
Note: This KEP is primarily for tracking purposes. The code for this feature is all out-of-tree, but the using the k8s.io API group requires API review. Most sections of this KEP will be marked as not applicable.
This KEP aims to transition Gateway API from an experimental API (x-k8s.io) to an official one (k8s.io) as part of the v1alpha2 release. The APIs will continue to be represented as CRDs, but will be subject to the standard Kubernetes API review process.
Although Gateway API started as an experimental API, we are preparing a v1alpha2 release that we believe will be a significant step towards stabilizing the API. The number of implementations of the API continues to grow, and we believe that transitioning to an official Kubernetes API will help provide greater quality and stability going forward.
- Formalize transition of Gateway API from x-k8s.io API group to k8s.io.
- Organize full Kubernetes API reviews as part of the transition.
This is a large API, it would not be practical to include it within this KEP. Instead, the API review process will happen through a separate PR or set of PRs on the Gateway API repo. Subproject maintainers will review PRs and API-changes on a per patch basis, while upstream k8s api-reviewers will review API changes on a release by release basis. In addition to this, subproject maintainers could involve k8s api-reviewers on a case-by-case as needed.
N/A
N/A
- Approval from subproject owners + KEP reviewers
- v1alpha2 APIs are implemented by several implementations
- Approval from subproject owners + KEP reviewers
- Initial conformance tests are in place
- Validating webhook for advanced validation
- We know users of the API are deploying apps with this API and exercising most of the API surface
N/A
No
N/A
N/A
N/A
N/A
N/A
N/A
Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.?
No
N/A
N/A
N/A
What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?
N/A
Are there any missing metrics that would be useful to have to improve observability of this feature?
N/A
No
- November 2020 - v1alpha1@0.1.0 released
- February 2021 - v1alpha1@0.2.0 released
- April 2021 - v1alpha1@0.3.0 released
Transitioning to a new API group will mean that resources in each group will be
entirely unique. If users have both new and old APIs installed, even a simple
operation like kubectl get gateway
would only return results from one of the
installed API groups. This is unfortunate, but represents a reason to make this
change before the API becomes more stable and has a larger userbase.
This API could stay as an experimental API indefinitely, but that would be very confusing for users.