Skip to content

Commit 127a444

Browse files
committed
Enable Linkerd native sidecar so Job pods terminate cleanly
Without proxy.nativeSidecar=true the linkerd-proxy is injected as a regular container that never exits. Jobs (notably restate-wi-canary) get stuck 1/2 NotReady on a failure, so the Job's backoffLimit retry never fires and a transient first-attempt failure (e.g. GCP IAM eventual consistency on the Workload Identity binding for a freshly created env namespace) leaves the env unable to come up. With native sidecar, the proxy is an init container with restartPolicy: Always — Kubernetes terminates it when the main container exits, the pod transitions to Failed/Succeeded, and the Job retries normally.
1 parent 5fbfbc7 commit 127a444

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

linkerd.tf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,16 @@ resource "helm_release" "linkerd_control_plane" {
144144
name = "identity.issuer.tls.keyPEM"
145145
value = tls_private_key.linkerd_issuer.private_key_pem
146146
},
147+
# Run the proxy as a Kubernetes native sidecar (init container with
148+
# restartPolicy: Always). Required so that Job pods (restate-wi-canary)
149+
# terminate when the main container exits and the Job's backoffLimit can
150+
# retry. Without this, the proxy never exits, the pod sticks 1/2 NotReady,
151+
# and a transient first-attempt failure (e.g. WI binding propagation race)
152+
# leaves the env stuck indefinitely.
153+
{
154+
name = "proxy.nativeSidecar"
155+
value = "true"
156+
},
147157
]
148158

149159
depends_on = [helm_release.linkerd_crds]

0 commit comments

Comments
 (0)