freesinger opened a new pull request, #11113: URL: https://github.com/apache/gravitino/pull/11113
### What changes were proposed in this pull request? This PR improves Lance REST when it works with Gravitino-backed namespaces. It adds: - An aux-mode catalog fetcher that uses Gravitino's internal CatalogDispatcher. - A standalone-mode HTTP catalog fetcher that supports simple and OAuth2 GravitinoClient auth. - Lance REST authentication context and HK2 method interception. - Authentication expressions for Lance namespace and table REST endpoints. - Unit tests for fetcher selection, standalone auth config validation, endpoint annotations, and Lance path id metadata extraction. ### Why are the changes needed? When Lance REST runs as a Gravitino auxiliary service, calling Gravitino through GravitinoClient causes duplicate authentication. Lance REST should use internal Gravitino services in aux mode, the same direction as Iceberg REST Catalog. Fix: #11089 ### Does this PR introduce _any_ user-facing change? Yes. For standalone Lance REST, the following optional properties are added: - `gravitino.lance-rest.gravitino-auth-type` - `gravitino.lance-rest.gravitino-simple.user-name` - `gravitino.lance-rest.gravitino-oauth2.server-uri` - `gravitino.lance-rest.gravitino-oauth2.credential` - `gravitino.lance-rest.gravitino-oauth2.token-path` - `gravitino.lance-rest.gravitino-oauth2.scope` ### How was this patch tested? ```bash ./gradlew :lance:lance-common:test :lance:lance-rest-server:test -PskipITs ./gradlew :lance:lance-common:spotlessApply :lance:lance-rest-server:spotlessApply git diff --check -- 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]
