JingsongLi opened a new pull request, #9377:
URL: https://github.com/apache/paimon/pull/9377
### Purpose
Add a language-neutral REST management contract for listing, granting, and
revoking permissions, and expose it to Spark through catalog procedures.
Permission management is provided directly by `RESTCatalog` without changing
the generic `Catalog` interface.
The REST resource paths are `/v1/catalogs/{catalog}/permissions`, `/grant`,
and `/revoke`.
### Changes
- Add permission models and public `RESTApi` management methods.
- Expose `permissionManagement()` directly from `RESTCatalog`.
- Add an OpenAPI 3.1 management specification, documentation, and contract
validation.
- Add Spark `grant_permission`, `list_permissions`, and `revoke_permission`
procedures.
- Add JSON compatibility, REST transport, pagination, policy validation, and
Spark integration coverage.
### Tests
- `mvn -pl paimon-api -Pfast-build -DwildcardSuites=none
-Dtest=PermissionManagementJsonTest,RESTPermissionManagementTest,RequestJacksonCompatibilityTest
test`
- `mvn -pl paimon-spark/paimon-spark-ut -am -Pfast-build -Pspark3
-DfailIfNoTests=false
-DwildcardSuites=org.apache.paimon.spark.procedure.PermissionProcedureTest
-Dtest=none test`
- `mvn -pl paimon-spark/paimon-spark-ut -am -Pfast-build -Pspark3
-DfailIfNoTests=false
-DwildcardSuites=org.apache.paimon.spark.procedure.PermissionProcedureUnsupportedCatalogTest
-Dtest=none test`
- `mvn -pl paimon-api,paimon-core,paimon-spark/paimon-spark-common -Pspark3
-DskipTests validate`
- `node docs/scripts/validate-rest-openapi.js`
--
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]