[FEATURE] A new Java-based interface to manage encryption secrets
- Dominant language
- Scala
- Stars
- 2.4k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
### Code of Conduct
- [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
### Search before asking
- [x] I have searched in the [issues](https://github.com/apache/kyuubi/issues?q=is%3Aissue) and found no similar issues.
### Describe the feature
A new Java-based interface to manage encryption secrets in the kyuubi-server-plugin module and deprecate the existing `org.apache.kyuubi.service.authentication.EngineSecuritySecretProvider`.
### Motivation
The secrets to encrypt Kyuubi internal communication are managed by a subclass of `org.apache.kyuubi.service.authentication.EngineSecuritySecretProvider` and developers can build their own providers and configure them. The problem is now the trait name become strange and should be renamed to something like `InternalSecuritySecretProvider`, not `EngineSecurity`.
### Describe the solution
_No response_
### Additional context
This idea comes from https://github.com/apache/kyuubi/pull/7418#discussion_r3219375001
### Are you willing to submit PR?
- [x] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to improve.
- [ ] No. I cannot submit a PR at this time.
Contributor guide
Research direction
Start in the kyuubi-server-plugin module by reading org.apache.kyuubi.service.authentication.EngineSecuritySecretProvider and the discussion linked from PR 7418. Determine the shape of the replacement Java-based secret-provider interface and the compatibility requirements for deprecating the existing provider. Done means the new interface is available and the existing interface is deprecated without breaking configured providers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend-api-design, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100