Skip to content

docs: add source-verified 3.17 Admin API contract - #14083

Open
kayx23 wants to merge 1 commit into
apache:release/3.17from
kayx23:docs/admin-api-openapi-3.17-clean
Open

kayx23 wants to merge 1 commit into
apache:release/3.17from
kayx23:docs/admin-api-openapi-3.17-clean

Conversation

@kayx23

@kayx23 kayx23 commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Dependency

The CI prerequisite #14094 has merged. This PR depends on the terminology sequence #14105 → #14110 and should rebase after those documentation prerequisites merge. Unrelated flaky product-test checks are not part of this documentation PR's scope.

Why this contract is needed

  • release/3.17 does not have a checked-in canonical OpenAPI contract for its Admin API.
  • Reusing a newer branch's document would misrepresent the 3.17 operation surface, schemas, defaults, or examples.
  • The contract previously carried API7-specific metadata and links; Apache APISIX should own the canonical source used by downstream documentation.
  • A fail-closed offline checker is needed to detect source and schema drift without depending on a running gateway.

Summary

  • add a version-appropriate OpenAPI 3.1 contract for the 3.17 Admin API
  • validate local references, operation IDs, path parameters, schemas, examples, defaults, resource methods, and reviewed source hashes
  • replace API7-specific metadata, links, and examples with version-pinned Apache references
  • keep terminology corrections independently reviewable in docs: backport terminology corrections to 3.17 #14110

Validation

  • one commit containing only the OpenAPI contract and offline checker inputs
  • offline source and schema checker passes with 98 operations, 321 examples, and 120 defaults
  • Redocly reports a valid OpenAPI document
  • git diff --check origin/release/3.17...HEAD
  • all Apache documentation targets return HTTP 200
  • the checker fails closed under Python optimization
  • the specification contains no API7-specific literals

@kayx23

kayx23 commented Oct 26, 2026

Copy link
Copy Markdown
Member Author

CI note: the failing legacy jobs stop before this documentation change or its contract checker runs. The release-branch workflows now execute on Ubuntu 26.04, where actions/setup-python cannot provide Python 3.9 and apt no longer provides libpcre3/libpcre3-dev. The documentation, license, and PR-title checks pass. The version-specific offline OpenAPI source-parity checker and its regression tests also pass locally in a clean isolated environment; validation details are included in the PR description.

@kayx23
kayx23 force-pushed the docs/admin-api-openapi-3.17-clean branch from e620661 to 0d63bea Compare October 27, 2026 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant