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]