Repository navigation
Add extension servers for DEK wrap/unwrap - #290
Merged
Merged
Conversation
pseudomuto
force-pushed
the
extension-servers
branch
2 times, most recently
from
September 17, 2026 13:34
b68c80d to
6a2f3e9
Compare
pseudomuto
force-pushed
the
extension-servers
branch
from
October 6, 2026 14:25
6a2f3e9 to
a57cf4b
Compare
pseudomuto
added this pull request to stack #304
October 6, 2026 14:28
hehaifengcn
approved these changes
Oct 8, 2026
An extension server is an operator-run gRPC server implementing api.kms.v1.EncryptionService (in Temporal Proxy). Essentially it wraps and unwraps the data encryption keys the proxy seals payloads with. It is how an operator plugs in a key backend the proxy has no driver for, such as an on-prem HSM, and mirrors what Temporal Proxy already offers. Extension servers are declared once at the top level rather than per cluster connection, so a single KMS backing several connections is possible. A key policy reaches one through an "extension://<server>" URI. Connecting stays lazy, so an unreachable server surfaces on first use rather than at startup. Nothing constructs these yet, since NewClusterConnection still ignores EncryptionConfig.
pseudomuto
force-pushed
the
extension-servers
branch
from
October 10, 2026 10:24
a57cf4b to
0963701
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
An extension server is an operator-run gRPC server implementing
api.kms.v1.EncryptionService (in Temporal Proxy). Essentially it wraps
and unwraps the data encryption keys the proxy seals payloads with. It
is how an operator plugs in a key backend the proxy has no driver for,
such as an on-prem HSM, and mirrors what Temporal Proxy already offers.
Extension servers are declared once at the top level rather than per
cluster connection, so a single KMS backing several connections is
possible. A key policy reaches one through an "extension://"
URI.
Connecting stays lazy, so an unreachable server surfaces on first use
rather than at startup. Nothing constructs these yet, since
NewClusterConnection still ignores EncryptionConfig.