envoyproxy / envoyproxy/envoy

Support Degraded Header in Outlier Detection

Open
#40,053 3 comments 0 reactions 0 assignees View on GitHub
area/health_checking area/outlier_detection enhancement help wanted no stalebot
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 22h
Merged PRs (30d)
430

Description

## Title: Support Degraded Header in Outlier Detection

## Description
Envoy currently allows upstream endpoints to signal a degraded health state via the `x-envoy-degraded` header during active health checks.
However, outlier detection a.k.a passive health checking does not currently interpret this header. If an upstream service returns an HTTP 200 response with `x-envoy-degraded: true` header, outlier detection still considers this a successful response and does not change the health status of the endpoint.

## Request
Extend outlier detection to optionally treat responses containing `x-envoy-degraded` as a signal to mark the endpoint as degraded, even if the status code is 200. This would allow degraded state signaling to be honored in both active and passive health checks. Specifically, if `x-envoy-degraded` is observed in a successful response (e.g., HTTP 200), outlier detection marks the endpoint as degraded. This feature could be enabled via a new boolean flag in the outlier detection config.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.