Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

DGS-21268 Add support for full payload encryption#2011

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
rayokota merged 1 commit intomasterfromencrypt-payload
Jul 18, 2025

Conversation

rayokota
Copy link
Member

What

Add support for full payload encryption

Checklist

  • [Y] Contains customer facing changes? Including API/behavior changes
  • [Y] Did you add sufficient unit test and/or integration test coverage for this PR?
    • If not, please explain why it is not required

References

JIRA:

Test & Review

Open questions / Follow-ups

@CopilotCopilotAI review requested due to automatic review settingsJuly 14, 2025 16:33
@rayokotarayokota requested review fromMSeal anda team ascode ownersJuly 14, 2025 16:33
@confluent-cla-assistant

🎉 All Contributor License Agreements have been signed. Ready to merge.
Please push an empty commit if you would like to re-run the checks to verify CLA status for all contributors.

Copy link

@CopilotCopilotAI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Pull Request Overview

This PR adds full payload encryption support by introducing a new payload-level executor, extending rule phases, and wiring encoding-phase rule execution into all sync/async serdes.

  • IntroduceEncryptionExecutor alongside legacyFieldEncryptionExecutor to handle full payload encryption.
  • Add a newRulePhase.ENCODING andencoding_rules inRuleSet for payload-phase rules.
  • Update all sync and async JSON/Avro/Protobuf serializers/deserializers to run encoding-phase rules before serialization and after deserialization.
  • Add end-to-end payload encryption tests (test_*_payload_encryption) for JSON, Avro, and Protobuf in both sync and async contexts.

Reviewed Changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
tests/schema_registry/_sync/test_proto_serdes.pyImportedEncryptionExecutor, adjusted client references, added payload encryption test
tests/schema_registry/_sync/test_json_serdes.pyImportedEncryptionExecutor, adjusted client references, added payload encryption test
tests/schema_registry/_sync/test_avro_serdes.pyImportedEncryptionExecutor, adjusted client references, added payload encryption test
src/confluent_kafka/schema_registry/rules/encryption/*.pyAddedEncryptionExecutor, renamed transform signatures, wrapped field executor
src/confluent_kafka/schema_registry/common/schema_registry_client.pyAddedRulePhase.ENCODING andencoding_rules inRuleSet
src/confluent_kafka/schema_registry/_sync/serde.pyAdded_execute_rules_with_phase and wired encoding-phase rules
src/confluent_kafka/schema_registry/_sync/{protobuf,json_schema,avro}.pyHooked encoding-phase execution in serializers/deserializers
src/confluent_kafka/schema_registry/_async/serde.pyMirrored sync serde changes for async
src/confluent_kafka/schema_registry/_async/{protobuf,json_schema,avro}.pyMirrored sync serializers/deserializers changes for async
Comments suppressed due to low confidence (2)

tests/schema_registry/_sync/test_json_serdes.py:998

  • [nitpick] Rename the test function to test_json_payload_encryption for consistency with the other payload encryption test names.
def test_json_payloadencryption():

tests/schema_registry/_async/test_json_serdes.py:998

  • [nitpick] Rename the async test function to test_json_payload_encryption for consistency with other payload encryption test names.
async def test_json_payloadencryption():

@sonarqube-confluent
Copy link

Failed

  • 77.40% Coverage on New Code (is less than 80.00%)

Analysis Details

51 Issues

  • Bug 0 Bugs
  • Vulnerability 0 Vulnerabilities
  • Code Smell 51 Code Smells

Coverage and Duplications

  • Coverage 77.40% Coverage (66.10% Estimated after merge)
  • Duplications No duplication information (5.50% Estimated after merge)

Project ID: confluent-kafka-python

View in SonarQube

Copy link
Contributor

@ClaimundefineClaimundefine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

LGTM

@rayokotarayokota merged commit02b1e6f intomasterJul 18, 2025
2 of 3 checks passed
@rayokotarayokota deleted the encrypt-payload branchJuly 18, 2025 17:26
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

Copilot code reviewCopilotCopilot left review comments

@ClaimundefineClaimundefineClaimundefine approved these changes

@MSealMSealAwaiting requested review from MSealMSeal is a code owner

Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

2 participants
@rayokota@Claimundefine

[8]ページ先頭

©2009-2025 Movatter.jp