Skip to content

[Feature Request] Add a TLS configuration based on the URL format #203

@r-mol

Description

@r-mol

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

Currently if TLS is enabled OR Nginx is used for the TLS termination towards the Frontend tctl does not know if it should activate the TLS unless one of the relevant flags is toggled

This feature request is taken from issue in the temporalio/tctl about activating TLS only by relevant flag such as --tls_server_name. And currently there is the same inconvenience in the temporalio/cli -

func (b *clientFactory) createTLSConfig(c *cli.Context) (*tls.Config, error) {

Currently enabling TLS requires a user to specify hostname twice — first in --address and then in --tls_server_name — which is not very convenient.

Describe the solution you'd like

The solution proposal is exactly the same as in the issue attached above:
"Instead of activating TLS via flags, format of the temporal address can be like this grpc://<IP or DNS>:<port> for plain connection and grpcs://<IP or DNS>:<port> for the TLS. If preffix is not specified then connection can still revert to the non-TLS OR TLS based on one of the flags added. Adding this feature would help with making the Temporal protocol communication intent between the client and the frontend clean."

Additional context

With TLS Activation:

Current method:
temporal --address public-frontend.superhost.com:443 --tls_server_name public-frontend.superhost.com  ...
Proposed method:
temporal --address grpcs://public-frontend.superhost.com:443  ...

Without TLS Activation:

Current method:
temporal --address public-frontend.superhost.com:443 ...
Proposed method:
temporal --address grpc://public-frontend.superhost.com:443  ...
temporal --address public-frontend.superhost.com:443 ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions