temporal-proxy

module
v0.1.0-alpha.20260716 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2026 License: MIT

README

Temporal Proxy (Pre-release)

ci codecov Go Reference license

A gRPC proxy that sits between Temporal SDK clients, workers, and the Temporal UI on one side and one or more upstream Temporal clusters on the other. It handles namespace translation and TLS termination so applications can target a single local endpoint while the proxy fans requests out to the right upstream (a local dev cluster, a self-hosted deployment, Temporal Cloud, or some mix).

[!NOTE] Pre-release: This project is under active development and evolving quickly. It is not ready for production use. Open a GitHub issue if you have questions or want to follow along.

Development

See .github/CONTRIBUTING.md for the dev loop. The common entry points are mise run test, mise run lint, and mise run format.

Security

See SECURITY.md for how to report vulnerabilities.

License

MIT, see LICENSE.

Directories

Path Synopsis
cmd
proxy command
internal
config
Package config loads and validates the proxy YAML configuration.
Package config loads and validates the proxy YAML configuration.
metrics
Package metrics wires Prometheus metrics into the proxy.
Package metrics wires Prometheus metrics into the proxy.
protoutil
Package protoutil provides helpers for working with Temporal's protobuf request types at the gRPC boundary, without the caller needing to know the concrete message type for a given method.
Package protoutil provides helpers for working with Temporal's protobuf request types at the gRPC boundary, without the caller needing to know the concrete message type for a given method.
proxy
Package proxy serves the Temporal WorkflowService on a local unix socket, forwarding every request to an upstream Temporal frontend over gRPC.
Package proxy serves the Temporal WorkflowService on a local unix socket, forwarding every request to an upstream Temporal frontend over gRPC.
router
Package router transparently forwards inbound gRPC traffic to an upstream connection without decoding it.
Package router transparently forwards inbound gRPC traffic to an upstream connection without decoding it.
template
Package template renders the templated fields used by the proxy against per-request values.
Package template renders the templated fields used by the proxy against per-request values.
transport/connect
Package connect manages a pool of reusable gRPC client connections keyed by host.
Package connect manages a pool of reusable gRPC client connections keyed by host.
transport/creds
Package creds provides gRPC transport credential implementations for use with Temporal proxy connections.
Package creds provides gRPC transport credential implementations for use with Temporal proxy connections.
transport/socket
Package socket defines the addressing contract for the proxy's local unix socket.
Package socket defines the addressing contract for the proxy's local unix socket.
pkg
logger
Package logger provides a small, leveled, structured logging interface for the proxy along with a zerolog-backed implementation and a no-op implementation for tests.
Package logger provides a small, leveled, structured logging interface for the proxy along with a zerolog-backed implementation and a no-op implementation for tests.
logger/tag
Package tag provides typed key/value pairs used to attach structured context to log entries.
Package tag provides typed key/value pairs used to attach structured context to log entries.
match
Package match implements the simple glob matching used by routing rules to compare namespaces and metadata values.
Package match implements the simple glob matching used by routing rules to compare namespaces and metadata values.
testutil
Package testutil provides helpers and utilities to make testing easier and less tedious.
Package testutil provides helpers and utilities to make testing easier and less tedious.
validation
Package validation provides structured error primitives plus a small rule-based API for accumulating validation failures.
Package validation provides structured error primitives plus a small rule-based API for accumulating validation failures.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL