FANNG1 opened a new issue, #12524:
URL: https://github.com/apache/gravitino/issues/12524

   ### Describe the subtask
   
   Add a Gravitino-private management endpoint on the Iceberg REST server, 
outside the Iceberg REST specification's `/v1/` namespace, so engines can ask 
the server which catalogs it serves:
   
   `GET {iceberg-rest-base}/gravitino/v1/management/catalogs`
   
   ```json
   {
     "catalogs": [
       { "name": "iceberg_prod" },
       { "name": "iceberg_audit" }
     ]
   }
   ```
   
   - New JAX-RS operations class under 
`iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/rest/`,
 alongside `IcebergConfigOperations`. `management` is the scope for further 
Gravitino management APIs on this server.
   - Returned names must be exactly what this server accepts as the `warehouse` 
parameter, under both `static-config-provider` and `dynamic-config-provider` — 
they equal Gravitino catalog names only in the dynamic case, which is the whole 
reason the endpoint exists.
   - Names only in V1. Per-catalog client configuration already arrives via 
`GET /v1/config?warehouse=<name>`; because JSON objects extend compatibly, 
per-catalog fields (e.g. Trino's credential-vending flag) can be added later 
without a breaking change.
   - Unit tests, and document the endpoint in `docs/iceberg-rest-service.md`.
   
   Design doc: 
https://github.com/apache/gravitino/blob/main/design-docs/spark-rest-catalog-registration.md
   
   ### Parent issue
   
   https://github.com/apache/gravitino/issues/11064
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to