nlu90 opened a new pull request #8432:
URL: https://github.com/apache/pulsar/pull/8432
<!--
### Contribution Checklist
- Fill out the template below to describe the changes contributed by the
pull request. That will give reviewers the context they need to do the review.
-->
*(If this PR fixes a github issue, please add `Fixes #<xyz>`.)*
Fixes #8382
### Motivation
Add the e2e encryption support for Pulsar Functions
### Modifications
- Add `CryptoConfig` the encapsulate all the crypto related configs set by
user
- Add `CryptoSpec` to `Function` protobuf to container crypto information
internally
- Add `CryptoUtils` to help create instance, convert between `CryptoConfig`
and `CryptoSpec`
- Add crypto validation method in `ValidatorUtils` to ensure the provided
`CryptoKeyReader` Class has a ctor with `Map` arg
- Updated the cli to allow user set crypto for consumer/producer when
submitting the function
- Update `PulsarSource`, `PulsarSink` to use the crypto config if provided
### Verifying this change
- [ ] Make sure that the change passes the CI checks.
This change added tests and can be verified as follows:
*(example:)*
- *Added integration tests for end-to-end deployment with large payloads
(10MB)*
- *Extended integration test for recovery after broker failure*
### Does this pull request potentially affect one of the following parts:
*If `yes` was chosen, please highlight the changes*
- Dependencies (does it add or upgrade a dependency): Added
`pulsar-client-messagecrypto-bc` into `puslar-function instance`
- The admin cli options: Added `--producer-config` to allow setting crypto
related configs.
### Documentation
- Does this pull request introduce a new feature? Yes
- If yes, how is the feature documented? not documented
- If a feature is not documented yet in this PR, please create a followup
issue for adding the documentation:
[#8431](https://github.com/apache/pulsar/issues/8431)
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]