[Feature Request] Option to not propagate the Connection credential into worker pods / separate controller and worker credentials
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 45/100
Direzione di ricerca
Start at ApplyControllerPodSpecModifications and the deployment builder call mentioned in the issue, then trace how workerOptions.connectionRef supplies credentials to controller management calls and worker pods. Compare the Secret mount and environment variable paths for mTLS and API keys. Done when a documented option or separate references let controller management and worker runtime use distinct credentials, with the resulting pod configuration covered.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Is your feature request related to a problem? Please describe.
For a given WorkerDeployment, the controller resolves the Connection via
workerOptions.connectionRef and uses that credential for its OWN management calls
(SetWorkerDeploymentCurrentVersion / SetWorkerDeploymentRampingVersion /
DeleteWorkerDeploymentVersion — all AccessWrite). It then mounts the SAME
mutualTLSSecretRef Secret (tls.crt / tls.key) into the generated worker pods and sets
TEMPORAL_TLS_CLIENT_* (via ApplyControllerPodSpecModifications, called unconditionally).
When Temporal authorization is enabled, the controller needs namespace write (versioning /
routing). Because the worker pods inherit the SAME Connection credential, the application code
running inside the worker pod can read a client certificate that carries namespace-write, and
can therefore act on any workflow in that Temporal namespace — more than a worker needs, and the
credential is exposed to arbitrary application code in the pod. This breaks least-privilege: the
controller's management identity and the workers' runtime identity are the same.
Describe the solution you'd like
A way to give the controller a management credential distinct from what is mounted into the
worker pods, within a single WorkerDeployment. For example, any of:
- an option to disable propagation of the
ConnectionSecret into worker pods (e.g. when the
worker supplies its own credential out-of-band); - a separate
controllerConnectionRef(controller management) vsworkerConnectionRef(mounted
into worker pods), so the two identities/permissions can differ; - documented guidance that the intended isolation unit is "one Temporal namespace + one
Connection per workload", if finer separation is out of scope.
Additional context
- Chart / controller version:
0.32.0(appVersion1.13.0). - Source references:
ApplyControllerPodSpecModifications(mountsmutualTLSSecretRef+
TEMPORAL_TLS_CLIENT_*into worker containers) is called unconditionally from the deployment
builder; the controller client and the worker pods use the sameConnection. - Observed with
requireClientAuth+ JWT authorization enabled on the frontend; the concern also
applies to theapiKeySecretRefpath (the API key is injected into the worker pod as
TEMPORAL_API_KEY). - Related: this is the same
Connectionauth-model surface as the mTLS+bearer feature request
above; they may be considered together.
- Lingua principale
- Go
- Stelle
- 197
- Fork
- 79
- Merge medio
- 3g 13h
- PR unite (30g)
- 25
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di temporalio/temporal-worker-controller
-
[Feature Request] Helm chart: support topologySpreadConstraints on the controller DeploymentForse già presa @akolacz l’ha presa 2 giorni fa. Apertahelm
temporalio/temporal-worker-controller#658 · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug] With a pinned build ID, the controller keeps updating the Deployment after a template changeForse già presa @D-Joey-G l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 58/100
temporalio/temporal-worker-controller#656 ·
I maintainer di solito rispondono entro 1 giorno
-
rbac
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
temporalio/temporal-worker-controller#654 ·
I maintainer di solito rispondono entro 1 giorno
-
Bug: v1.6's delete-protection finalizer is never removed from migrated TemporalWorkerDeployment/TemporalConnection, so they stay Terminating after the v1.7 migrationForse già presa @niyomukiza-mechack l’ha presa 9 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 57/100
temporalio/temporal-worker-controller#644 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
AI agent skillsAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
temporalio/temporal-worker-controller#633 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di temporalio/temporal-worker-controller
Issue simili
-
automation models
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
mvanhorn/cli-printing-press#5146 ·
I maintainer di solito rispondono entro 1 giorno
-
.jsonc files are skippedApertabug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
alibaba/open-code-review#1800 ·
I maintainer di solito rispondono entro 1 giorno
-
kind/engineering needs-triage pulumi/registry R2 S2 Task
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno