temporalio / temporalio/temporal-worker-controller
[Feature Request] Interoperability with K8S/GKE CapacityBuffer API
Nobody has claimed this yet.
- 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.
We’d like to use GKE CapacityBuffer API to dynamically over-provision API-serving Temporal workers.
K8S has a Capacity Buffer API in beta stage. GKE in particular has introduced support for active and standby capacity buffers based off this.
But there isn’t a clear way of how Temporal Worker Controller can work with these.
- The controller itself does not implement the scale subresource, so we cannot target the capacity buffer at the controller.
- The Worker Deployment Resource CRD does not yet flexible enough to support
scalableRefas required by the CapacityBuffer API. Applying this per version is also probably the wrong level of abstraction.
So the workaround today is unfortunately falling back to unversioned workers on these API serving workloads.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the GKE CapacityBuffer API requirements and tracing how the controller and Worker Deployment Resource CRD currently expose scaling. Focus on the missing scale subresource and the CRD's scalableRef support, including whether this belongs above the per-version level. Done means a documented design and working interoperability for versioned Temporal workers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, google-cloud, kubernetes
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100