temporalio / temporalio/temporal-worker-controller

[Feature Request] Multi-pod worker deployments

Open
#330 11 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Is your feature request related to a problem? Please describe.

Consider a workflow DSL that lets users define their own workflows inside the product. The workflow implementation that interprets this DSL uses two kinds of activities:

  1. Activities that perform heavy computation
  2. Activities that only make HTTP or DB calls

The different activity workers and the workflow worker should not live in the same pod, for a few reasons:

  • Each activity worker type and the workflow worker has its own security policy /
    ServiceAccount.
  • If an activity container fails, it should not affect the workflow worker. When
    containers share a pod, both contribute to whether the pod is considered healthy.
  • They have different scaling factors
  • ......

That said, a single release that covers all workers is usually desirable, except in specific cases.

Describe the solution you'd like

Let users set the Temporal deployment name explicitly instead of always auto-generating it. With an explicit name, users could run multiple WorkerDeployment resources that share the same temporal deployment.

There might be a better way or practice how to handle such cases

Additional context

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

The issue names no files, tests, or entry points. Start by locating the WorkerDeployment resource and the code that auto-generates the Temporal deployment name. Done should be defined as an explicit naming option that allows multiple WorkerDeployment resources to share one Temporal deployment while preserving the single-release behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes
Domain
infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.