From a31cce4dcb3725b72187c543643869cb5149356e Mon Sep 17 00:00:00 2001 From: seanbollin Date: Mon, 28 Sep 2026 17:03:21 -0700 Subject: [PATCH 1/3] Add Cloud Run worker sample using CloudRunId and OpenTelemetry plugins Co-Authored-By: Claude Opus 4.8 --- Directory.Packages.props | 2 + README.md | 1 + TemporalioSamples.sln | 18 ++++ nuget.config | 18 ++++ src/Gcp/CloudRun/Dockerfile | 14 +++ src/Gcp/CloudRun/GreetingActivities.cs | 14 +++ src/Gcp/CloudRun/GreetingWorkflow.workflow.cs | 19 ++++ src/Gcp/CloudRun/Program.cs | 76 ++++++++++++++++ src/Gcp/CloudRun/README.md | 57 ++++++++++++ .../TemporalioSamples.Gcp.CloudRun.csproj | 12 +++ src/Gcp/CloudRun/collector-config.yaml | 82 ++++++++++++++++++ ...io.Extensions.Gcp.CloudRun.Id.1.19.0.nupkg | Bin 0 -> 15520 bytes ...ns.Gcp.CloudRun.OpenTelemetry.1.19.0.nupkg | Bin 0 -> 13403 bytes src/Gcp/CloudRun/worker-pool.yaml | 56 ++++++++++++ 14 files changed, 369 insertions(+) create mode 100644 nuget.config create mode 100644 src/Gcp/CloudRun/Dockerfile create mode 100644 src/Gcp/CloudRun/GreetingActivities.cs create mode 100644 src/Gcp/CloudRun/GreetingWorkflow.workflow.cs create mode 100644 src/Gcp/CloudRun/Program.cs create mode 100644 src/Gcp/CloudRun/README.md create mode 100644 src/Gcp/CloudRun/TemporalioSamples.Gcp.CloudRun.csproj create mode 100644 src/Gcp/CloudRun/collector-config.yaml create mode 100644 src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.Id.1.19.0.nupkg create mode 100644 src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.OpenTelemetry.1.19.0.nupkg create mode 100644 src/Gcp/CloudRun/worker-pool.yaml diff --git a/Directory.Packages.props b/Directory.Packages.props index 38177b2..1a203ca 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -24,6 +24,8 @@ + + diff --git a/README.md b/README.md index a09c161..9848063 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ Prerequisites: * [EagerWorkflowStart](src/EagerWorkflowStart) - Demonstrates usage of Eager Workflow Start to reduce latency for workflows that start with a local activity. * [Encryption](src/Encryption) - End-to-end encryption with Temporal payload codecs. * [EnvConfig](src/EnvConfig) - Load client configuration from TOML files with programmatic overrides +* [Gcp/CloudRun](src/Gcp/CloudRun) - Run a Temporal Worker on a Google Cloud Run worker pool using the Cloud Run Id and OpenTelemetry plugins. * [LambdaWorker](src/LambdaWorker) - Run a Temporal Worker inside an AWS Lambda function. * [Mutex](src/Mutex) - How to implement a mutex as a workflow. Demonstrates how to avoid race conditions or parallel mutually exclusive operations on the same resource. * [NexusCancellation](src/NexusCancellation) - Demonstrates how to cancel a running Nexus operation from a caller workflow. diff --git a/TemporalioSamples.sln b/TemporalioSamples.sln index c945182..02fc71e 100644 --- a/TemporalioSamples.sln +++ b/TemporalioSamples.sln @@ -145,6 +145,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NexusStandaloneActivity", " EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TemporalioSamples.NexusStandaloneActivity", "src\NexusStandaloneActivity\TemporalioSamples.NexusStandaloneActivity.csproj", "{4D8C9F9B-F8E3-4160-9286-32C3966A0125}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Gcp", "Gcp", "{30714183-DB89-4930-B9B4-8E35068EF641}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TemporalioSamples.Gcp.CloudRun", "src\Gcp\CloudRun\TemporalioSamples.Gcp.CloudRun.csproj", "{5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -815,6 +819,18 @@ Global {4D8C9F9B-F8E3-4160-9286-32C3966A0125}.Release|x64.Build.0 = Release|Any CPU {4D8C9F9B-F8E3-4160-9286-32C3966A0125}.Release|x86.ActiveCfg = Release|Any CPU {4D8C9F9B-F8E3-4160-9286-32C3966A0125}.Release|x86.Build.0 = Release|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Debug|x64.ActiveCfg = Debug|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Debug|x64.Build.0 = Debug|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Debug|x86.ActiveCfg = Debug|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Debug|x86.Build.0 = Debug|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Release|Any CPU.Build.0 = Release|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Release|x64.ActiveCfg = Release|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Release|x64.Build.0 = Release|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Release|x86.ActiveCfg = Release|Any CPU + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -887,5 +903,7 @@ Global {97376F57-BA10-464B-AFBD-583E187DE947} = {34ADAC00-5559-6993-F779-D71CE5A0F93F} {5D5AFBCD-B4B7-4A4E-91C8-FD80E4C1E27B} = {1A647B41-53D0-4638-AE5A-6630BAAE45FC} {4D8C9F9B-F8E3-4160-9286-32C3966A0125} = {5D5AFBCD-B4B7-4A4E-91C8-FD80E4C1E27B} + {30714183-DB89-4930-B9B4-8E35068EF641} = {1A647B41-53D0-4638-AE5A-6630BAAE45FC} + {5A82F4CB-2D7A-4483-BED6-9A5C5D5C6E3C} = {30714183-DB89-4930-B9B4-8E35068EF641} EndGlobalSection EndGlobal diff --git a/nuget.config b/nuget.config new file mode 100644 index 0000000..ea54461 --- /dev/null +++ b/nuget.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/Gcp/CloudRun/Dockerfile b/src/Gcp/CloudRun/Dockerfile new file mode 100644 index 0000000..2c01989 --- /dev/null +++ b/src/Gcp/CloudRun/Dockerfile @@ -0,0 +1,14 @@ +# syntax=docker/dockerfile:1 +# Build from the repo root: docker build -f src/Gcp/CloudRun/Dockerfile -t . +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +WORKDIR /src +COPY global.json Directory.Build.props Directory.Packages.props .editorconfig nuget.config ./ +COPY src/Gcp/CloudRun/ ./src/Gcp/CloudRun/ +RUN dotnet publish src/Gcp/CloudRun/TemporalioSamples.Gcp.CloudRun.csproj -c Release -o /app + +FROM mcr.microsoft.com/dotnet/runtime:8.0 +RUN useradd --create-home --uid 10001 worker +WORKDIR /app +COPY --from=build --chown=worker:worker /app ./ +USER 10001 +ENTRYPOINT ["dotnet", "TemporalioSamples.Gcp.CloudRun.dll"] diff --git a/src/Gcp/CloudRun/GreetingActivities.cs b/src/Gcp/CloudRun/GreetingActivities.cs new file mode 100644 index 0000000..7c66e06 --- /dev/null +++ b/src/Gcp/CloudRun/GreetingActivities.cs @@ -0,0 +1,14 @@ +namespace TemporalioSamples.Gcp.CloudRun; + +using Microsoft.Extensions.Logging; +using Temporalio.Activities; + +public static class GreetingActivities +{ + [Activity] + public static string SayHello(string name) + { + ActivityExecutionContext.Current.Logger.LogInformation("SayHello activity: {Name}", name); + return $"Hello, {name}!"; + } +} diff --git a/src/Gcp/CloudRun/GreetingWorkflow.workflow.cs b/src/Gcp/CloudRun/GreetingWorkflow.workflow.cs new file mode 100644 index 0000000..e3e8297 --- /dev/null +++ b/src/Gcp/CloudRun/GreetingWorkflow.workflow.cs @@ -0,0 +1,19 @@ +namespace TemporalioSamples.Gcp.CloudRun; + +using Microsoft.Extensions.Logging; +using Temporalio.Workflows; + +[Workflow] +public class GreetingWorkflow +{ + [WorkflowRun] + public async Task RunAsync(string name) + { + Workflow.Logger.LogInformation("GreetingWorkflow started: {Name}", name); + var result = await Workflow.ExecuteActivityAsync( + () => GreetingActivities.SayHello(name), + new() { StartToCloseTimeout = TimeSpan.FromSeconds(10) }); + Workflow.Logger.LogInformation("GreetingWorkflow completed: {Result}", result); + return result; + } +} diff --git a/src/Gcp/CloudRun/Program.cs b/src/Gcp/CloudRun/Program.cs new file mode 100644 index 0000000..18c353c --- /dev/null +++ b/src/Gcp/CloudRun/Program.cs @@ -0,0 +1,76 @@ +using System.Runtime.InteropServices; +using Microsoft.Extensions.Logging; +using Temporalio.Client; +using Temporalio.Common.EnvConfig; +using Temporalio.Extensions.Gcp.CloudRun.Id; +using Temporalio.Extensions.Gcp.CloudRun.OpenTelemetry; +using Temporalio.Worker; +using TemporalioSamples.Gcp.CloudRun; + +// Connect from environment config (TEMPORAL_ADDRESS, TEMPORAL_NAMESPACE, TEMPORAL_API_KEY, ...). +var connectOptions = ClientEnvConfig.LoadClientConnectOptions(); +connectOptions.TargetHost ??= "localhost:7233"; +connectOptions.LoggerFactory = LoggerFactory.Create(builder => + builder. + AddSimpleConsole(options => options.TimestampFormat = "[HH:mm:ss] "). + SetMinimumLevel(LogLevel.Information)); + +var taskQueue = Environment.GetEnvironmentVariable("TEMPORAL_TASK_QUEUE") ?? "cloud-run-worker"; + +// @@@SNIPSTART dotnet-cloud-run +// The Cloud Run Id plugin sets the client identity to "{instanceId}@{revision}" from Cloud Run +// metadata at connect time; every Worker created from the client inherits it. +connectOptions.Plugins = new ITemporalClientPlugin[] { new CloudRunIdPlugin() }; + +// ApplyGoogleCloudRunOpenTelemetryDefaults adds the tracing interceptor and a runtime exporting Core +// metrics + traces over OTLP to the collector sidecar; the returned handle owns the tracer provider. +// Both plugins configure the same connect options. +using var telemetry = connectOptions.ApplyGoogleCloudRunOpenTelemetryDefaults(); + +var client = await TemporalClient.ConnectAsync(connectOptions); +// @@@SNIPEND + +// --starter runs a single workflow, e.g. to kick off work against the same server the worker polls. +if (args.Contains("--starter")) +{ + var greeting = await client.ExecuteWorkflowAsync( + (GreetingWorkflow wf) => wf.RunAsync("Temporal"), + new($"cloud-run-worker-{Guid.NewGuid():N}", taskQueue)); + Console.WriteLine("Workflow result: {0}", greeting); + await telemetry.FlushAsync(TimeSpan.FromSeconds(2)); + return; +} + +using var cts = new CancellationTokenSource(); +Console.CancelKeyPress += (_, eventArgs) => +{ + eventArgs.Cancel = true; + cts.Cancel(); +}; + +// Cloud Run sends SIGTERM ~10s before SIGKILL. +using var sigterm = PosixSignalRegistration.Create(PosixSignal.SIGTERM, _ => cts.Cancel()); + +using var worker = new TemporalWorker( + client, + new TemporalWorkerOptions(taskQueue). + AddWorkflow(). + AddActivity(GreetingActivities.SayHello)); + +Console.WriteLine( + "Worker running: taskQueue={0} address={1} namespace={2}", + taskQueue, + connectOptions.TargetHost, + connectOptions.Namespace ?? "default"); +try +{ + await worker.ExecuteAsync(cts.Token); +} +catch (OperationCanceledException) +{ + Console.WriteLine("Worker shutting down"); +} + +// Flush traces within the shutdown grace window (Core metrics export periodically, no explicit flush). +await telemetry.FlushAsync(TimeSpan.FromSeconds(2)); +Console.WriteLine("Worker stopped"); diff --git a/src/Gcp/CloudRun/README.md b/src/Gcp/CloudRun/README.md new file mode 100644 index 0000000..7e41f3e --- /dev/null +++ b/src/Gcp/CloudRun/README.md @@ -0,0 +1,57 @@ +# Cloud Run Worker + +Run a Temporal Worker on a +[Google Cloud Run worker pool](https://cloud.google.com/run/docs/deploy-worker-pools) using both GCP +Cloud Run extensions together: + +- `Temporalio.Extensions.Gcp.CloudRun.Id` derives the client identity `{instanceId}@{revision}` from + Cloud Run instance metadata, so each instance is identifiable in Temporal. +- `Temporalio.Extensions.Gcp.CloudRun.OpenTelemetry` exports Core SDK metrics and traces to a + [Google-Built OpenTelemetry Collector](https://cloud.google.com/stackdriver/docs/instrumentation/opentelemetry-collector-cloud-run) + sidecar (metrics to Managed Service for Prometheus, traces to Cloud Trace). + +`Program.cs` registers a `CloudRunIdPlugin` on `TemporalClientConnectOptions.Plugins` and calls +`ApplyGoogleCloudRunOpenTelemetryDefaults()`, which adds the tracing interceptor and an OTLP exporter +aimed at the sidecar, then runs a greeting workflow and activity until SIGTERM. + +> The extensions are not on nuget.org yet, so the sample restores them from the committed +> `local-packages/` feed (see `nuget.config`) until they ship. + +## Prerequisites + +- A Temporal server the worker pool can reach (`TEMPORAL_ADDRESS` / `TEMPORAL_NAMESPACE`) +- A Google Cloud project with the Cloud Run and Artifact Registry APIs enabled +- [`gcloud`](https://cloud.google.com/sdk/docs/install), authenticated with the project set +- The [Temporal CLI](https://docs.temporal.io/cli) and .NET 8 + +## Deploy + +Set the placeholders used by `worker-pool.yaml`, then build the image, store the collector config as +a secret, and deploy. Run from the repo root: + +```bash +export REGION=us-central1 WORKER_POOL=temporal-cloud-run-worker INSTANCE_COUNT=1 +export SERVICE_ACCOUNT_EMAIL=@.iam.gserviceaccount.com +export WORKER_IMAGE=$REGION-docker.pkg.dev/$(gcloud config get-value project)/samples/cloud-run +export TEMPORAL_ADDRESS= TEMPORAL_NAMESPACE= TEMPORAL_TASK_QUEUE=cloud-run-worker +export COLLECTOR_CONFIG_SECRET=otel-collector-config COLLECTOR_CONFIG_SECRET_VERSION=latest + +docker build -f src/Gcp/CloudRun/Dockerfile -t "$WORKER_IMAGE" . && docker push "$WORKER_IMAGE" +gcloud secrets create "$COLLECTOR_CONFIG_SECRET" --data-file=src/Gcp/CloudRun/collector-config.yaml + +envsubst < src/Gcp/CloudRun/worker-pool.yaml > /tmp/worker-pool.yaml +gcloud run worker-pools replace /tmp/worker-pool.yaml --region "$REGION" +``` + +The service account needs the `monitoring.metricWriter`, `cloudtrace.agent`, and +`secretmanager.secretAccessor` roles. For Temporal Cloud, add `TEMPORAL_API_KEY` from a Secret +Manager `secretKeyRef` (see `worker-pool.yaml`). + +## Run a workflow + +```bash +temporal workflow execute --task-queue cloud-run-worker --type GreetingWorkflow --input '"Temporal"' +``` + +Metrics appear in Metrics Explorer and traces in Trace Explorer, tagged with the Cloud Run identity. +Delete the pool with `gcloud run worker-pools delete "$WORKER_POOL" --region "$REGION"`. diff --git a/src/Gcp/CloudRun/TemporalioSamples.Gcp.CloudRun.csproj b/src/Gcp/CloudRun/TemporalioSamples.Gcp.CloudRun.csproj new file mode 100644 index 0000000..3e9c317 --- /dev/null +++ b/src/Gcp/CloudRun/TemporalioSamples.Gcp.CloudRun.csproj @@ -0,0 +1,12 @@ + + + + Exe + + + + + + + + diff --git a/src/Gcp/CloudRun/collector-config.yaml b/src/Gcp/CloudRun/collector-config.yaml new file mode 100644 index 0000000..dc7f7fe --- /dev/null +++ b/src/Gcp/CloudRun/collector-config.yaml @@ -0,0 +1,82 @@ +# Google-Built OpenTelemetry Collector config for the sidecar: metrics -> Managed Service for Prometheus, traces -> Cloud Trace. Auth via the worker-pool service account (ADC). +receivers: + otlp: + protocols: + grpc: + endpoint: localhost:4317 + +processors: + # Batch traces for throughput. Do NOT add a batch processor to the cumulative-metrics pipeline: a + # shutdown flush could be batched with a recent periodic export of the same series and rejected as + # a duplicate time series. + batch/traces: + send_batch_max_size: 200 + send_batch_size: 200 + timeout: 5s + memory_limiter: + check_interval: 1s + limit_percentage: 65 + spike_limit_percentage: 20 + resourcedetection: + detectors: [gcp] + timeout: 10s + # Rename Temporal datapoint labels that collide with the target labels Managed Service for Prometheus injects (e.g. `namespace`). + transform/collision: + metric_statements: + - context: datapoint + statements: + - set(attributes["exported_location"], attributes["location"]) + - delete_key(attributes, "location") + - set(attributes["exported_cluster"], attributes["cluster"]) + - delete_key(attributes, "cluster") + - set(attributes["exported_namespace"], attributes["namespace"]) + - delete_key(attributes, "namespace") + - set(attributes["exported_job"], attributes["job"]) + - delete_key(attributes, "job") + - set(attributes["exported_instance"], attributes["instance"]) + - delete_key(attributes, "instance") + - set(attributes["exported_project_id"], attributes["project_id"]) + - delete_key(attributes, "project_id") + # The Telemetry API expects the Google Cloud project in gcp.project_id. + transform/set_project_id: + error_mode: ignore + trace_statements: + - set(resource.attributes["gcp.project_id"], resource.attributes["gcp.project.id"]) where resource.attributes["gcp.project.id"] != nil + - set(resource.attributes["gcp.project_id"], resource.attributes["cloud.account.id"]) where resource.attributes["gcp.project_id"] == nil and resource.attributes["cloud.account.id"] != nil + +exporters: + googlemanagedprometheus: + otlp: + endpoint: telemetry.googleapis.com:443 + compression: none + balancer_name: pick_first + auth: + authenticator: googleclientauth + +extensions: + health_check: + endpoint: 0.0.0.0:13133 + googleclientauth: + +service: + extensions: + - health_check + - googleclientauth + pipelines: + metrics: + receivers: [otlp] + processors: [memory_limiter, resourcedetection, transform/collision] + exporters: [googlemanagedprometheus] + traces: + receivers: [otlp] + processors: [memory_limiter, resourcedetection, transform/set_project_id, batch/traces] + exporters: [otlp] + telemetry: + metrics: + readers: + - periodic: + exporter: + otlp: + protocol: grpc + endpoint: http://localhost:4317 + insecure: true diff --git a/src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.Id.1.19.0.nupkg b/src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.Id.1.19.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..36e8cceb1dd077d762564ddbcd4cd40a63853f5d GIT binary patch literal 15520 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 literal 0 HcmV?d00001 diff --git a/src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.OpenTelemetry.1.19.0.nupkg b/src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.OpenTelemetry.1.19.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..36b749818d1cc720ea9fa568516e7babcf2ebf0f GIT binary patch literal 13403 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 Date: Tue, 29 Sep 2026 16:05:34 -0700 Subject: [PATCH 2/3] Use released Cloud Run extension packages --- Directory.Packages.props | 16 ++++++++-------- nuget.config | 18 ------------------ src/Gcp/CloudRun/README.md | 3 --- ...io.Extensions.Gcp.CloudRun.Id.1.19.0.nupkg | Bin 15520 -> 0 bytes ...ns.Gcp.CloudRun.OpenTelemetry.1.19.0.nupkg | Bin 13403 -> 0 bytes 5 files changed, 8 insertions(+), 29 deletions(-) delete mode 100644 nuget.config delete mode 100644 src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.Id.1.19.0.nupkg delete mode 100644 src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.OpenTelemetry.1.19.0.nupkg diff --git a/Directory.Packages.props b/Directory.Packages.props index 1a203ca..e9f50f7 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -20,14 +20,14 @@ - - - - - - - - + + + + + + + + diff --git a/nuget.config b/nuget.config deleted file mode 100644 index ea54461..0000000 --- a/nuget.config +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/src/Gcp/CloudRun/README.md b/src/Gcp/CloudRun/README.md index 7e41f3e..33ef129 100644 --- a/src/Gcp/CloudRun/README.md +++ b/src/Gcp/CloudRun/README.md @@ -14,9 +14,6 @@ Cloud Run extensions together: `ApplyGoogleCloudRunOpenTelemetryDefaults()`, which adds the tracing interceptor and an OTLP exporter aimed at the sidecar, then runs a greeting workflow and activity until SIGTERM. -> The extensions are not on nuget.org yet, so the sample restores them from the committed -> `local-packages/` feed (see `nuget.config`) until they ship. - ## Prerequisites - A Temporal server the worker pool can reach (`TEMPORAL_ADDRESS` / `TEMPORAL_NAMESPACE`) diff --git a/src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.Id.1.19.0.nupkg b/src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.Id.1.19.0.nupkg deleted file mode 100644 index 36e8cceb1dd077d762564ddbcd4cd40a63853f5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15520 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 diff --git a/src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.OpenTelemetry.1.19.0.nupkg b/src/Gcp/CloudRun/local-packages/Temporalio.Extensions.Gcp.CloudRun.OpenTelemetry.1.19.0.nupkg deleted file mode 100644 index 36b749818d1cc720ea9fa568516e7babcf2ebf0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13403 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 Date: Wed, 30 Sep 2026 11:03:36 -0700 Subject: [PATCH 3/3] Add Artifact Registry step to README --- src/Gcp/CloudRun/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Gcp/CloudRun/README.md b/src/Gcp/CloudRun/README.md index 33ef129..14cbb59 100644 --- a/src/Gcp/CloudRun/README.md +++ b/src/Gcp/CloudRun/README.md @@ -33,6 +33,7 @@ export WORKER_IMAGE=$REGION-docker.pkg.dev/$(gcloud config get-value project)/sa export TEMPORAL_ADDRESS= TEMPORAL_NAMESPACE= TEMPORAL_TASK_QUEUE=cloud-run-worker export COLLECTOR_CONFIG_SECRET=otel-collector-config COLLECTOR_CONFIG_SECRET_VERSION=latest +gcloud artifacts repositories create samples --repository-format=docker --location "$REGION" docker build -f src/Gcp/CloudRun/Dockerfile -t "$WORKER_IMAGE" . && docker push "$WORKER_IMAGE" gcloud secrets create "$COLLECTOR_CONFIG_SECRET" --data-file=src/Gcp/CloudRun/collector-config.yaml