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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions