nevzheng opened a new pull request, #12132: URL: https://github.com/apache/gravitino/pull/12132
### What changes were proposed in this pull request? Add the provider-neutral Java contracts for server-side KMS key validation: - `KmsApi` and `KmsReference` identify the provider API, configured source, and provider-native key; - `KmsClient` and `KmsClientFactory` define provider integration; - `KmsKeyProperties` reports normalized key state and capabilities; - configuration and authentication failures remain distinct; and - reusable fixtures and contract tests support provider implementations. ### Why are the changes needed? Gravitino features need a common way to validate that a user-provided key exists, is enabled, and supports the required operations without exposing credentials or key material. This PR establishes the provider-neutral contract. Configuration, routing, and concrete providers follow in the remaining work tracked by #12131. Part of #12131. ### Does this PR introduce _any_ user-facing change? Yes. It adds new `@DeveloperApi` Java contracts. It does not add REST APIs, server configuration, or cryptographic operations. ### How was this patch tested? - `./gradlew :api:test -PskipITs` - `./gradlew spotlessCheck rat` ### Series - Epic: #12131 - Position: 1 of 11 - Previous: none - Next: named KMS source configuration and routing -- 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]
