This guide walks you through cloning the repository, building theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/temporal-sa/temporal-cloud-proxy/llms.txt
Use this file to discover all available pages before exploring further.
tclp binary, writing a minimal configuration file, and starting the proxy so that a Temporal worker can connect and route calls to your Temporal Cloud namespace. By the end you will have a running proxy instance that authenticates to Temporal Cloud using an API key, accepts plain gRPC connections from workers on port 7233, and exposes Prometheus metrics on port 9090.
Clone the repository and build the binary
Clone the project from GitHub, change into the directory, and run A successful build produces the
make build to compile the tclp binary. Go 1.24 or later is required../tclp binary in the repository root:Copy the sample configuration
The repository ships with a fully annotated sample configuration. Copy it to The sample file contains commented-out blocks for every optional feature (encryption, worker auth) so you can enable them incrementally without looking up syntax.
config.yaml as the starting point for your setup.Write a minimal config.yaml
Replace the placeholder values in The required fields for each workload are:
Export the API key before starting the proxy:
config.yaml with your Temporal Cloud details. The example below configures one workload that authenticates to Temporal Cloud using an API key read from the environment variable TEMPORAL_API_KEY. No worker authentication or payload encryption is enabled at this stage — those can be added later.| Field | Description |
|---|---|
workload_id | Unique identifier workers pass in the workload-id gRPC header |
temporal_cloud.namespace | Your Temporal Cloud namespace (e.g. my-namespace.my-account) |
temporal_cloud.host_port | Temporal Cloud gRPC endpoint including port |
temporal_cloud.authentication | Either api_key or tls — not both |
Run the proxy
Start the proxy by passing the path to your configuration file:On a successful start you will see structured log output similar to the following:The proxy is now:
- Listening for inbound gRPC connections on
0.0.0.0:7233(no TLS — workers connect in plaintext) - Exposing Prometheus metrics at
http://localhost:9090/metrics - Maintaining a single TLS connection pool toward your Temporal Cloud namespace
Configure your Temporal worker
Temporal workers must include a Java SDKWhen worker authentication is also configured on the workload, include an
workload-id gRPC metadata header on every call. The value must match the workload_id defined in your proxy configuration.Point your Temporal SDK client at the proxy instead of Temporal Cloud directly, and attach the header. The exact mechanism varies by SDK — below are two common patterns.Go SDKauthorization: Bearer <token> header alongside workload-id.To enable verbose debug logging — which prints the full gRPC method, incoming metadata, and routing decisions for every request — pass the Available log levels are
--level flag:debug, info, warn, and error. The default is info.Next Steps
With the proxy running, you can progressively harden and extend your configuration using the guides below.Configure Multiple Workloads
Add additional workload entries to route different teams or environments through the same proxy instance.
Namespace Authentication
Switch from API key to mTLS client certificates, or learn how to reference secrets from environment variables.
Worker Authentication
Require workers to present a JWT or SPIFFE JWT-SVID before the proxy forwards their calls to Temporal Cloud.
Payload Encryption
Enable transparent AES-GCM envelope encryption via AWS KMS or GCP KMS, with configurable key caching.