Skip to content

[1.18] update sidecar & control plane probe defaults#5144

Open
JoshVanL wants to merge 2 commits intodapr:v1.18from
JoshVanL:tune-liveness-readiness-probes
Open

[1.18] update sidecar & control plane probe defaults#5144
JoshVanL wants to merge 2 commits intodapr:v1.18from
JoshVanL:tune-liveness-readiness-probes

Conversation

@JoshVanL
Copy link
Copy Markdown
Contributor

See dapr/dapr#9818

Signed-off-by: joshvanl <me@joshvanl.dev>
Copilot AI review requested due to automatic review settings April 22, 2026 15:40
@JoshVanL JoshVanL requested review from a team as code owners April 22, 2026 15:40
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates Dapr 1.18 documentation to reflect new default Kubernetes probe settings for the sidecar and control plane (per dapr/dapr#9818), keeping annotations/arguments and health-check guidance consistent.

Changes:

  • Update default values for sidecar liveness/readiness probe annotations in the arguments/annotations reference table.
  • Update Kubernetes probe examples and explanatory text in the sidecar health checks documentation to match the new defaults.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
daprdocs/content/en/reference/arguments-annotations-overview.md Adjusts documented default values for sidecar liveness/readiness probe-related annotations.
daprdocs/content/en/operations/resiliency/health-checks/sidecar-health.md Updates probe YAML examples and narrative to match new default liveness/readiness timing parameters.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +66 to +70
| not supported | not supported | | `dapr.io/sidecar-liveness-probe-threshold` | When the sidecar liveness probe fails, Kubernetes will try N times before giving up. In this case, the Pod will be marked Unhealthy. Read more about `failureThreshold` [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `5`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-delay-seconds` | Number of seconds after the sidecar container has started before readiness probe is initiated. Read more [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `1`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-timeout-seconds` | Number of seconds after which the sidecar readiness probe times out. Read more [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `1`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-period-seconds` | How often (in seconds) to perform the sidecar readiness probe. Read more [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `1`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-threshold` | When the sidecar readiness probe fails, Kubernetes will try N times before giving up. In this case, the Pod will be marked Unready. Read more about `failureThreshold` [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `5`|
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The description contains a double space in “In this case”, which reads like a typo in the rendered docs. Please change it to a single space (“In this case”).

Suggested change
| not supported | not supported | | `dapr.io/sidecar-liveness-probe-threshold` | When the sidecar liveness probe fails, Kubernetes will try N times before giving up. In this case, the Pod will be marked Unhealthy. Read more about `failureThreshold` [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `5`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-delay-seconds` | Number of seconds after the sidecar container has started before readiness probe is initiated. Read more [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `1`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-timeout-seconds` | Number of seconds after which the sidecar readiness probe times out. Read more [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `1`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-period-seconds` | How often (in seconds) to perform the sidecar readiness probe. Read more [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `1`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-threshold` | When the sidecar readiness probe fails, Kubernetes will try N times before giving up. In this case, the Pod will be marked Unready. Read more about `failureThreshold` [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `5`|
| not supported | not supported | | `dapr.io/sidecar-liveness-probe-threshold` | When the sidecar liveness probe fails, Kubernetes will try N times before giving up. In this case, the Pod will be marked Unhealthy. Read more about `failureThreshold` [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `5`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-delay-seconds` | Number of seconds after the sidecar container has started before readiness probe is initiated. Read more [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `1`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-timeout-seconds` | Number of seconds after which the sidecar readiness probe times out. Read more [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `1`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-period-seconds` | How often (in seconds) to perform the sidecar readiness probe. Read more [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `1`|
| not supported | not supported | | `dapr.io/sidecar-readiness-probe-threshold` | When the sidecar readiness probe fails, Kubernetes will try N times before giving up. In this case, the Pod will be marked Unready. Read more about `failureThreshold` [here](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes). Default is `5`|

Copilot uses AI. Check for mistakes.
Comment on lines 115 to +118
httpGet:
path: v1.0/healthz
port: 3500
initialDelaySeconds: 5
initialDelaySeconds: 180
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

In this Kubernetes probe example, the httpGet.path value is missing the leading / (it shows v1.0/healthz), which doesn’t match the text above (/v1.0/healthz) and is not a valid HTTP origin-form path. Update the example to use /v1.0/healthz.

Copilot uses AI. Check for mistakes.
Comment on lines 123 to +126
httpGet:
path: v1.0/healthz
port: 3500
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds : 5
failureThreshold: 3
initialDelaySeconds: 1
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

In this Kubernetes probe example, the httpGet.path value is missing the leading / (it shows v1.0/healthz), which doesn’t match the text above (/v1.0/healthz) and is not a valid HTTP origin-form path. Update the example to use /v1.0/healthz.

Copilot uses AI. Check for mistakes.
Comment on lines +120 to +121
timeoutSeconds : 3
failureThreshold : 5
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The YAML snippet uses timeoutSeconds : / failureThreshold : with a space before the colon. This is non-idiomatic and can trip up copy/paste validation; align it with standard Kubernetes YAML (timeoutSeconds: / failureThreshold:).

Copilot uses AI. Check for mistakes.
failureThreshold: 3
initialDelaySeconds: 1
periodSeconds: 1
timeoutSeconds : 1
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The YAML snippet uses timeoutSeconds : with a space before the colon. Align it with standard Kubernetes YAML (timeoutSeconds:) to avoid copy/paste issues.

Copilot uses AI. Check for mistakes.
Signed-off-by: joshvanl <me@joshvanl.dev>
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