Skip to content

EnvoyPatchPolicy for listener in draining_state #7639

@sergey-safarov

Description

@sergey-safarov

Description:

I need to apply EnvoyPatchPolicy to a listener like

apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyPatchPolicy
metadata:
  name: keep-escaped-slashes
  namespace: esrp
spec:
  type: JSONPatch
  targetRef:
    group: gateway.networking.k8s.io
    kind: Gateway
    name: couchdb
  jsonPatches:
    - name: esrp/couchdb/http-couchdb
      type: type.googleapis.com/envoy.config.listener.v3.Listener
      operation:
        op: replace
        path: /default_filter_chain/filters/0/typed_config/path_with_escaped_slashes_action
        value: KEEP_UNCHANGED

EPP status show

  status:
    ancestors:
    - ancestorRef:
        group: gateway.networking.k8s.io
        kind: Gateway
        name: couchdb
        namespace: esrp
      conditions:
      - lastTransitionTime: "2025-12-01T18:07:46Z"
        message: Policy has been accepted.
        observedGeneration: 1
        reason: Accepted
        status: "True"
        type: Accepted
      - lastTransitionTime: "2025-12-01T18:07:46Z"
        message: Patches have been successfully applied.
        reason: Programmed
        status: "True"
        type: Programmed
      controllerName: gateway.envoyproxy.io/gatewayclass-controller

When I check the envoy dumped config, I see policy applied to the socket in active_state, but not applied to the socket in draining_state.

For my use case, this will not allow the application to function properly when envoy worker is placed in draining mode.

Could you apply EPP to listeners in draining_state also.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions