Skip to content

Add Cloud Run worker OpenTelemetry sample - #353

Draft
seanbollin wants to merge 2 commits into
mainfrom
gcp-cloud-run-otel
Draft

Add Cloud Run worker OpenTelemetry sample#353
seanbollin wants to merge 2 commits into
mainfrom
gcp-cloud-run-otel

Conversation

@seanbollin

Copy link
Copy Markdown

Summary

Adds gcp_cloud_run/: a long-running Temporal worker for Google Cloud Run worker pools that uses the new temporalio.contrib.gcp.cloud_run OpenTelemetryPlugin to export Core metrics and traces over OTLP/gRPC to a local OpenTelemetry Collector sidecar. Includes the worker, workflow, starter, collector-config.yaml, worker-pool.yaml, a Dockerfile, and a README.

⚠️ Draft — blocked on SDK release

Depends on the unreleased cloud-run-worker-otel extra from temporalio/sdk-python#1767. pyproject.toml temporarily uses an editable local path source to resolve temporalio against a sibling sdk-python checkout. Before marking ready:

  • Release temporalio[cloud-run-worker-otel]
  • Replace the [tool.uv.sources] local path with the released temporalio[cloud-run-worker-otel]
  • Regenerate uv.lock

Related

SDK PR: temporalio/sdk-python#1767. Cross-SDK Cloud Run OTel preview (Go/Java/Python/.NET).

🤖 Generated with Claude Code

seanbollin and others added 2 commits August 19, 2026 15:01
Adds gcp_cloud_run/: a long-running Temporal worker for Google Cloud Run worker
pools that uses the temporalio.contrib.gcp.cloud_run OpenTelemetryPlugin to
export Core metrics and traces over OTLP/gRPC to a local OpenTelemetry Collector
sidecar (worker, workflow, starter, collector-config.yaml, worker-pool.yaml,
Dockerfile, README).

Note: the cloud-run-worker-otel SDK extra is not yet released, so pyproject.toml
temporarily uses an editable local path source to resolve temporalio against a
sibling sdk-python checkout. Replace it with a released
temporalio[cloud-run-worker-otel] and regenerate uv.lock before this is marked
ready.

Co-authored-by: Edward Amsden <edward.amsden@temporal.io>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Make TEMPORAL_API_KEY optional and enable TLS only when an API key is present,
so the sample connects to a plaintext dev server or self-hosted cluster, not
just Temporal Cloud (matches the Go and Java samples). Verified by deploying to
Cloud Run against a dev server.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant