rambleraptor commented on issue #1289: URL: https://github.com/apache/iceberg-go/issues/1289#issuecomment-4909714775
Here's what I've got in mind: - Table object will store a KeyManagementClient. We can use `WithKMSClient()` to set it. - Tables have a `FS` method that return an iceberg.IO for reading / writing. My new idea here is to create an interface called `EncryptingFileIO` that has access to both the underlying IO and an EncryptionManager. The KeyManagementClient would be responsible for instantiating this. - EncryptingFileIO has the same methods as standard IO, but will do encryption in the background. - The EncryptionManager would be responsible for holding the encryption keys + doing encryption/decryption. - We'd have a PlainTextEncryptionManager that just no-ops everything. How does that sound? -- 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]
