Skip to content

[config]: Add encryption configuration#238

Open
pseudomuto wants to merge 1 commit into
mainfrom
encryption_config
Open

[config]: Add encryption configuration#238
pseudomuto wants to merge 1 commit into
mainfrom
encryption_config

Conversation

@pseudomuto

Copy link
Copy Markdown

Adds an Encryption section to S2SProxyConfig so the proxy can be configured with KMS-backed key material for payload encryption. The config defines the active KMS key URI, any retired URIs that may still be needed for decryption after a provider migration or key rotation, and the DEK validity/renewal durations that drive rotation behavior.

Key URIs follow the gocloud.dev/secrets URL scheme so we can transparently support GCP KMS, AWS KMS, and Azure Key Vault without provider-specific config branches. A testing scheme is also accepted for local development and tests where standing up a real KMS isn't practical.

Validation happens at YAML unmarshal time so misconfigured URIs fail fast at startup rather than surfacing later when encryption is first exercised.

Adds an Encryption section to S2SProxyConfig so the proxy can be
configured with KMS-backed key material for payload encryption. The
config defines the active KMS key URI, any retired URIs that may still
be needed for decryption after a provider migration or key rotation,
and the DEK validity/renewal durations that drive rotation behavior.

Key URIs follow the [gocloud.dev/secrets] URL scheme so we can
transparently support GCP KMS, AWS KMS, and Azure Key Vault without
provider-specific config branches. A testing scheme is also accepted for
local development and tests where standing up a real KMS isn't
practical.

Validation happens at YAML unmarshal time so misconfigured URIs fail
fast at startup rather than surfacing later when encryption is first
exercised.

[gocloud.dev/secrets]: https://gocloud.dev/howto/secrets/
@pseudomuto pseudomuto requested a review from a team as a code owner June 9, 2026 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant