-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
v3 API docs #8087
Comments
I've started work on this, and the first step was to switch from This then leads to the question of how we want to structure the API docs in the presence of multiple major versions. Here are some options:
I'm leaning towards (1) with duplicates. What this would look like is in the v2 API, we might have today:
Then v2 tree will continue to look like the above. When you click on the v3 API tab, you would see something like:
@mattklein123 @lizan WDYT? |
Yeah (1) SGTM. |
This PR introduces a parallel v3 API reference documentation tree to the existing v2 one. The docs/root/api-v3/ tree was copied from docs/root/api-v2 and the necessary package path fixups were made manually. As a result, the tree largely resembles the v2 docs. Long term this is likely to evolve to reflect the shape of the new extensions tree. The message type, field and enum anchors are sed'ed to be distinct and self-consistent inside api-v3/. There were a number of API proto changes that were made to obtain a successful Sphinx build: * References to deprecated fields were replaced by references to the replacement field. * clang-format line wrapping in protoxform was removed, this breaks RST in some v3 protos. * Some packages (type/metadata/v2, data/cluster/v2alpha) were force upgraded to v3, to deal with references to types that are distinct in v2/v3. This is OK as these packages probably make sense to bump for v3, in general we're going to have to think about how to do this more cleanly, supporting dual v2/v3 references alongside each other. * Some evil hacks for field renaming added to migrate.py for RouteAction. There's also some additional machinery added to compute distinct v3/v3 build targets to point protodoc at. Risk level: Low Testing: Docs build, manual inspection. Fixes envoyproxy#8087 Signed-off-by: Harvey Tuch <[email protected]>
This PR introduces a parallel v3 API reference documentation tree to the existing v2 one. The docs/root/api-v3/ tree was copied from docs/root/api-v2 and the necessary package path fixups were made manually. As a result, the tree largely resembles the v2 docs. Long term this is likely to evolve to reflect the shape of the new extensions tree. The message type, field and enum anchors are sed'ed to be distinct and self-consistent inside api-v3/. There were a number of API proto changes that were made to obtain a successful Sphinx build: * References to deprecated fields were replaced by references to the replacement field. * clang-format line wrapping in protoxform was removed, this breaks RST in some v3 protos. * Some packages (type/metadata/v2, data/cluster/v2alpha) were force upgraded to v3, to deal with references to types that are distinct in v2/v3. This is OK as these packages probably make sense to bump for v3, in general we're going to have to think about how to do this more cleanly, supporting dual v2/v3 references alongside each other. * Some evil hacks for field renaming added to migrate.py for RouteAction. There's also some additional machinery added to compute distinct v3/v3 build targets to point protodoc at. Risk level: Low Testing: Docs build, manual inspection. Fixes #8087 Signed-off-by: Harvey Tuch <[email protected]>
Need to create v3 docs that live side-by-side with v2 docs. All references to v2 API fields need to be updated to v3 once we snap v3.
The text was updated successfully, but these errors were encountered: