temporalio / temporalio/temporal-worker-controller

Support separate connection handling for controller and worker pods

Open
#578 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

rbac
Dominant language
Go
Stars
187
Forks
70
Avg merge
4d 1h
Merged PRs (30d)
31

Description

The ask here is to be able to configure the Temporal connection credentials separately for the temporal-worker-controller Pod from the Pods that contain Temporal workers.

As of Sept 9, 2026 (v1.10.1 release of TWC), the temporal-worker-controller Pod connects to a Temporal API server using the credentials described in the Connection or ClusterConnection object pointed at by the WorkerDeployment.spec.workerOptions.connectionRef field.

These same connection credentials and host/endpoint information is injected into the Pod definition for Temporal workers that belong to a Kubernetes Deployment associated with a WorkerDeploymentVersion (build ID) managed by temporal-worker-controller for that WorkerDeployment.

The user should be able to use different credentials for the controller Pod than the worker Pods. The worker Pods do not need the same level of access to the Temporal server as the controller Pod -- for example, the controller Pod needs to be able to call control plane APIs like SetWorkerDeploymentRampingVersion and DeleteWorkerDeploymentVersion whereas the worker Pod connects to the Temporal server using the sdk's worker.Start APIs.

We should add the ability to configure the controller Pod's Temporal connection credentials entirely separately from the worker Pods. One idea is to have a WorkerDeployment.spec.controllerConnectionRef field that would allow the controller's connection to be different from the WorkerDeployment.spec.workerOptions.connectionRef.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing WorkerDeployment.spec.workerOptions.connectionRef into the temporal-worker-controller Pod and the worker Pod definition, then review the WorkerDeployment.spec fields and the worker.Start connection usage described in the issue. Done means the controller Pod can use separate credentials and host information from worker Pods while existing worker connection behavior remains supported; tests should cover both references.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
backend, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.