1# xDS RFCs (xRFCs) 2 3## Introduction 4 5This directory contains the design proposals for substantial feature changes for 6xDS. The goal of this process is to: 7- Provide a reference for the xDS transport protocol and data model standards. 8- Capture design history and tradeoffs as the xDS APIs evolve. 9- Provide increased visibility to the community on upcoming changes and the 10 design considerations around them. 11- Provide ability to reason about larger “sets” of changes that are too big to 12 be covered either in an Issue or in a PR. 13- Establish a consistent process for structured participation by the community 14 on significant changes, especially those that impact multiple clients and servers. 15 16We have modeled the xRFC process on [gRPC 17RFCs](https://github.com/grpc/proposal). 18 19## Process 20 211. Copy the template [XRFC-TEMPLATE.md](XRFC-TEMPLATE.md). 221. Rename it to `$CategoryName$xRfcId-$Summary.md`, e.g. `TP1-xds-transport-next.md` 23 (see category definitions below). The `$xRfcId` should be strictly higher 24 than any existing or under-review xRFC in `$CategoryName`. 251. Write up the RFC. 261. Submit a Pull Request. The CNCF xDS working group should be tagged with 27 `@cncf/xds-wg` and an e-mail sent to `[email protected]` linking to the 28 PR. All discussion is expected to take place within the PR. 291. An APPROVER will be assigned by one of this repository's maintainers. 301. For at least a period of 10 business days (the minimum comment period), 31it is expected that the OWNER will respond to the comments and make updates 32to the RFC as new commits to the PR. Through the process, the discussion 33should take place within the PR to avoid splintering conversations. The OWNER is 34encouraged to solicit as much feedback on the proposal as possible during this 35period. 361. If there is consensus as deemed by the APPROVER during the comment period, 37the APPROVER will merge the proposal pull request. 38 39## Proposal Categories 40 41The proposals shall be numbered in increasing order. 42 43- ``#TPn`` - Transport protocol. 44- ``#DMn`` - Data model. 45- ``#Pnn`` - Affects processes, such as the proposal process itself. 46 47## Proposal Status 481. Every uncommitted proposal is effectively in draft status. 491. Once committed, a proposal is in finalized status. 501. If issues are discovered during implementation, revisions may be made by 51 following the review process. 521. Once implemented by an xDS client, this should be reflected in the 53 `Implemented in:` header field of the proposal. Listing versions is not 54 required. 55