Gabriella Lotz has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/23224


Change subject: [WIP] Add OpenAPI specification for REST API endpoints
......................................................................

[WIP] Add OpenAPI specification for REST API endpoints

Create a hand-written swagger/kudu-api.json specification rather than
implementing automated generation infrastructure. This approach was
chosen for several practical reasons:

- Kudu's REST API currently has only 3 main endpoints
  (/api/v1/tables, /api/v1/tables/<table_id>, /api/v1/leader) with ~5
  total method/path combinations. The overhead of automated generation
  (C++ fluent APIs, annotation parsers, or complex macros) would
  exceed the maintenance burden of manual updates.

- These endpoints are relatively stable and not changing frequently,
  reducing the risk of documentation drift.

- A single JSON file is easier to review, debug, and modify than
  custom C++ infrastructure or parsing scripts.

- No additional build steps, external tools, or runtime overhead. The
  specification is immediately available when the server starts.

- If the API grows significantly or changes frequently, we can revisit
  automated generation.

The OpenAPI 3.0 specification includes complete documentation for all
current endpoints with request/response schemas, parameter validation,
and error codes. It's served at /swagger/kudu-api.json and integrates
with the existing Swagger UI at /api/docs.

Change-Id: I3981665c78f478e89d0300f3a2fc5d68b73b8762
---
M src/kudu/master/rest_catalog_path_handlers.cc
M src/kudu/master/rest_catalog_path_handlers.h
A www/swagger/favicon-16x16.png
A www/swagger/favicon-32x32.png
A www/swagger/index.css
A www/swagger/index.html
A www/swagger/kudu-api.json
A www/swagger/oauth2-redirect.html
A www/swagger/swagger-initializer.js
A www/swagger/swagger-ui-bundle.js
A www/swagger/swagger-ui-bundle.js.map
A www/swagger/swagger-ui-es-bundle-core.js
A www/swagger/swagger-ui-es-bundle-core.js.map
A www/swagger/swagger-ui-es-bundle.js
A www/swagger/swagger-ui-es-bundle.js.map
A www/swagger/swagger-ui-standalone-preset.js
A www/swagger/swagger-ui-standalone-preset.js.map
A www/swagger/swagger-ui.css
A www/swagger/swagger-ui.css.map
A www/swagger/swagger-ui.js
A www/swagger/swagger-ui.js.map
21 files changed, 1,046 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/24/23224/1
--
To view, visit http://gerrit.cloudera.org:8080/23224
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3981665c78f478e89d0300f3a2fc5d68b73b8762
Gerrit-Change-Number: 23224
Gerrit-PatchSet: 1
Gerrit-Owner: Gabriella Lotz <[email protected]>

Reply via email to