Skip to content

ui-server: adopt the standard TEMPORAL_TLS_* envconfig names for TLS configuration #3766

Description

@TastyPi

Is your feature request related to a problem? Please describe.

The temporal CLI and every Temporal SDK (Go, Python, TypeScript, Java, .NET) share a standardized "environment configuration" convention for client connection settings, including TLS — TEMPORAL_ADDRESS, TEMPORAL_NAMESPACE, TEMPORAL_TLS, TEMPORAL_TLS_CLIENT_CERT_PATH, TEMPORAL_TLS_CLIENT_KEY_PATH, TEMPORAL_TLS_SERVER_CA_CERT_PATH, TEMPORAL_TLS_SERVER_NAME, TEMPORAL_TLS_DISABLE_HOST_VERIFICATION (see the CLI's option definitions: cliext/option-sets.yaml#L136-L179, and e.g. the Python SDK's temporalio.envconfig module).

ui-server's Docker config template (server/config/docker.yaml) uses an older, unrelated set of names for the same settings — TEMPORAL_TLS_CA, TEMPORAL_TLS_CERT, TEMPORAL_TLS_KEY (plus _DATA variants), TEMPORAL_TLS_ENABLE_HOST_VERIFICATION. It doesn't recognize the standard names at all, verified locally on temporalio/ui:2.52.0: garbage PEM data under the old names fails fast (Unable to load server CA certificate, proving they're read), the same garbage under the standard names is silently ignored (server starts clean, proving they're never read).

This means anyone deploying Temporal with mTLS across the CLI, SDKs, and the Web UI has to maintain two parallel sets of TLS env vars pointing at the same certificate files — mismatches produce no error, so it's easy to get wrong silently.

Describe the solution you'd like

Have ui-server's config loader also accept the standard envconfig names (TEMPORAL_TLS_CLIENT_CERT_PATH/_DATA, TEMPORAL_TLS_CLIENT_KEY_PATH/_DATA, TEMPORAL_TLS_SERVER_CA_CERT_PATH/_DATA, TEMPORAL_TLS_DISABLE_HOST_VERIFICATION) — ideally via the same shared envconfig implementation the SDKs and CLI already use — so one env block can configure the UI alongside every other client.

Describe alternatives you've considered

Keeping both sets of names indefinitely and documenting the mapping — works, but every deployment has to know about and maintain the duplication rather than it being handled once in ui-server itself.

Additional context

temporalio/ui 2.52.0 (also affects earlier versions using the same config scheme, and likely current main).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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