Skip to content

Support dynamic client cert resolver with DNS load balancing #1343

Description

@brucearctor

Context

Follow-up to #1338 / #1340.

The dynamic client_cert_resolver currently returns an error when combined with dns_load_balancing. The DNS LB path creates per-IP endpoints via build_endpoint(), each needing its own TLS config, but Channel::balance_channel only accepts Endpoint entries — there's no API to pass a custom connector per-endpoint.

Current behavior

client_cert_resolver is not yet supported with dns_load_balancing.
Use client_tls_options for static certificates, or disable dns_load_balancing.

Proposed approach

Build channels manually (via connect_with_connector on each endpoint) and use a custom tower::discover::Discover implementation instead of balance_channel.

Priority

Low — Temporal Cloud has its own frontend load balancer, so DNS LB + dynamic certs is rare in practice.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions