Skip to content

Support reloading gRPC server SSL bundles#50248

Open
ukasus wants to merge 1 commit intospring-projects:mainfrom
ukasus:main
Open

Support reloading gRPC server SSL bundles#50248
ukasus wants to merge 1 commit intospring-projects:mainfrom
ukasus:main

Conversation

@ukasus
Copy link
Copy Markdown

@ukasus ukasus commented Apr 29, 2026

Add reloadable KeyManagerFactory for dynamic TLS bundle updates-

  • Introduce ReloadableKeyManagerFactory with SPI-backed implementation
    to support hot-reloading of X509ExtendedKeyManager on SslBundle updates
  • Register bundle update handler via SslBundles to refresh key material
    without server restart
  • Add ReloadableX509ExtendedKeyManager delegating wrapper with volatile swap
    for thread-safe runtime updates
  • Extend GrpcServerProperties.Ssl with reloadOnUpdate flag to toggle behavior
  • Wire conditional KeyManagerFactory resolution in ServerCredentials
    (static vs reloadable based on config)
  • Maintain compatibility with existing SSL setup and shaded/standard Netty

Enables zero-downtime TLS certificate/key rotation for gRPC servers.

Signed-off-by: Ujjawal Sharma ujjawal98kaushik@gmail.com

[resolves #49833]

Add a `reloadOnUpdate` property to `GrpcServerProperties.Ssl` and introduce `ReloadableKeyManagerFactory` to support dynamically updating the key manager when the associated `SslBundle` changes.

Signed-off-by: Ujjawal Sharma <ujjawal98kaushik@gmail.com>
@ukasus ukasus changed the title DRASupport reloading gRPC server SSL bundles Support reloading gRPC server SSL bundles Apr 29, 2026
@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: waiting-for-triage An issue we've not yet triaged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for gRPC server TLS certificate rotation

2 participants