Skip to content

docs: self-hosted setup for serverless workers#4476

Merged
lennessyy merged 15 commits intofeat/serverless-worker-prereleasefrom
feat/serverless-worker-oss-prerequisites
Apr 28, 2026
Merged

docs: self-hosted setup for serverless workers#4476
lennessyy merged 15 commits intofeat/serverless-worker-prereleasefrom
feat/serverless-worker-oss-prerequisites

Conversation

@lennessyy
Copy link
Copy Markdown
Contributor

@lennessyy lennessyy commented Apr 22, 2026

Summary

  • Adds a self-hosted setup page covering prerequisites for running Serverless Workers on a self-hosted Temporal Service with AWS Lambda
  • Covers enabling the Worker Controller via dynamic config, configuring AWS credentials, and creating the Lambda invocation role
  • Includes a CloudFormation template adapted for self-hosted (uses TemporalIamRoleArn parameter instead of hardcoded Temporal Cloud accounts)

Test plan

  • Verify the dynamic config keys match the source code in temporal-auto-scaled-workers
  • Review CloudFormation template with Stefan
  • Confirm page renders correctly in sidebar

🤖 Generated with Claude Code

┆Attachments: EDU-6254 docs: self-hosted setup for serverless workers

Covers enabling the Worker Controller via dynamic config, configuring
AWS credentials for the Temporal server, and creating the Lambda
invocation role with a CloudFormation template adapted for self-hosted.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@lennessyy lennessyy requested a review from a team as a code owner April 22, 2026 23:12
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 22, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
temporal-documentation Ready Ready Preview, Comment Apr 28, 2026 5:59pm

Request Review

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 22, 2026

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add how to view WCI workflows using TemporalNamespaceDivision filter
to both the self-hosted setup page and the deploy guide. Add
aws sts get-caller-identity tip for finding the server's IAM ARN.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
lennessyy and others added 2 commits April 23, 2026 10:59
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

## Enable the Worker Controller {#enable-worker-controller}

The Worker Controller is the server component that monitors Task Queues and invokes compute providers.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The Worker Controller is the server component that monitors Task Queues and invokes compute providers.
The Worker Controller Instance (WCI) is the server component that monitors Task Queues and invokes compute providers.


The Temporal Service watches the dynamic config file for changes and applies updates without a restart.

### Worker Controller dynamic config reference {#dynamic-config-reference}
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to go to dynamic config page, not here.

- Self-hosted
---

Temporal Cloud handles Serverless Worker infrastructure automatically.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need this first paragraph.


Use this role ARN when creating the Worker Deployment Version.

## Verify the Worker Controller {#verify-worker-controller}
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On second thought I think we don't need this section. Just a ## Next steps section that links to AWS Lambda deploy guide is enough,

- Remove first paragraph (Cloud comparison)
- Add brief overview of the three setup steps
- Use "Worker Controller Instance (WCI)" instead of "Worker Controller"
- Move dynamic config reference table out (belongs on dynamic config page)
- Replace verify section with Next steps linking to deploy guide

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Comment thread docs/production-deployment/worker-deployments/serverless-workers/aws-lambda.mdx Outdated
This page covers the prerequisites for running [Serverless Workers](/serverless-workers) on a self-hosted Temporal
Service with AWS Lambda:

1. Enable the Worker Controller Instance (WCI) on the server through dynamic configuration.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Enable the Worker Controller Instance (WCI) on the server through dynamic configuration.
1. Enable the Worker Controller on the server through dynamic configuration.


## Enable the Worker Controller {#enable-worker-controller}

The Worker Controller Instance (WCI) is the server component that monitors Task Queues and invokes compute providers. It
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The Worker Controller Instance (WCI) is the server component that monitors Task Queues and invokes compute providers. It
The Worker Controller is the server component that monitors Task Queues and invokes compute providers. It

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My concern with this is that users will confuse this with https://github.com/temporalio/temporal-worker-controller

These are not the same thing right😅? At least per my understanding these are very different things. But we've already named the Kubernetes thing Worker Controller. Even though this is an internal component, it's a nice one to explain to users so they can understand how it works. It would be great if we can avoid a complete name collision

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, our naming in this department has been sub-optimal. Let's leave it as WCI - but make sure that it is always WCI and never worker controller?!

Co-authored-by: Stefan Richter <stefan@02strich.de>
- no-sync
```

To enable the Worker Controller for specific Namespaces instead of globally:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To enable the Worker Controller for specific Namespaces instead of globally:
To enable the Worker Controller Instance (WCI) for specific Namespaces instead of globally:

Co-authored-by: Stefan Richter <stefan@02strich.de>
@lennessyy lennessyy merged commit 694c1d1 into feat/serverless-worker-prerelease Apr 28, 2026
6 of 7 checks passed
@lennessyy lennessyy deleted the feat/serverless-worker-oss-prerequisites branch April 28, 2026 17:58
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.

2 participants