Scrydon
DeploymentPrerequisites

Dapr

Dapr control-plane prerequisites and sidecar-injection expectations

Service-to-service communication runs over Dapr. The chart bundles the Dapr control plane by default (dapr.installControlPlane: true) and installs it into the release namespace.

The Dapr sidecar is injected by a mutating webhook (dapr-sidecar-injector) that only injects into pods created after it is Ready. Because a single helm install creates the control plane and the application pods together, some app pods can start before the injector is ready and come up without a sidecar (1/1 instead of 2/2).

To avoid this on a fresh install, choose one of these paths:

  • Install Dapr first (recommended for repeatable installs): set dapr.installControlPlane: false, install Dapr separately, wait until dapr-sidecar-injector is Ready, then run helm install.
  • Single install, then restart: install everything in one go, then run kubectl -n <ns> rollout restart deployment once the control plane is healthy so every pod picks up a sidecar.

See Install troubleshooting → Pods stuck at 1/1 for recovery details.

On this page

On this page