hectar-glitches commented on issue #1289:
URL: https://github.com/apache/iceberg-go/issues/1289#issuecomment-4997324506

   @rambleraptor following up now that the first slice 
(EncryptionManager/KeyManagementClient interfaces + PlaintextEncryptionManager 
+ in-memory KMS) is merged in #1447 
   
   Everything downstream needs "StandardEncryptionManager" to exist before it 
can do real encryption
   
   Proposed split:
   
   "StandardEncryptionManager" + KMS catalog-property wiring 
("encryption.kms-type"/"encryption.kms-impl", 
"encryption.key-id"/"encryption.data-key-length") to envelope KEK/DEK logic, 
key cache, rotation/timestamp AAD. This gates most of the rest, so whoever 
picks it up first unblocks everyone else.
   
   "EncryptingFileIO" wrapper can also be built and tested against the existing 
interfaces (e.g. "PlaintextEncryptionManager" or a small fake) without waiting 
on #1, then swapped over to "StandardEncryptionManager" once it lands.
   
   Once "StandardEncryptionManager" lands, we can split further (mostly 
independent files, can run in parallel):
             Parquet native encryption ("table/internal/parquet_files.go" + 
read path)
             Manifest + manifest-list encryption ("manifest.go" + list planners)
             Puffin blob/statistics-file encryption ("puffin/")
   
   Format-version gating, end-to-end, and cross-client compatibility tests.
   
   Happy to take a piece of this!
   
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to