Squash

This extension may be referenced by the qualified name envoy.filters.http.squash

Note

This extension is not hardened and should only be used in deployments where both the downstream and upstream are trusted.

Squash configuration overview.

config.filter.http.squash.v2.Squash

[config.filter.http.squash.v2.Squash proto]

{
  "cluster": "...",
  "attachment_template": "{...}",
  "request_timeout": "{...}",
  "attachment_timeout": "{...}",
  "attachment_poll_period": "{...}"
}
cluster

(string, REQUIRED) The name of the cluster that hosts the Squash server.

attachment_template

(Struct) When the filter requests the Squash server to create a DebugAttachment, it will use this structure as template for the body of the request. It can contain reference to environment variables in the form of ‘{{ ENV_VAR_NAME }}’. These can be used to provide the Squash server with more information to find the process to attach the debugger to. For example, in a Istio/k8s environment, this will contain information on the pod:

{
  "spec": {
    "attachment": {
      "pod": "{{ POD_NAME }}",
      "namespace": "{{ POD_NAMESPACE }}"
    },
    "match_request": true
  }
}

(where POD_NAME, POD_NAMESPACE are configured in the pod via the Downward API)

request_timeout

(Duration) The timeout for individual requests sent to the Squash cluster. Defaults to 1 second.

attachment_timeout

(Duration) The total timeout Squash will delay a request and wait for it to be attached. Defaults to 60 seconds.

attachment_poll_period

(Duration) Amount of time to poll for the status of the attachment object in the Squash server (to check if has been attached). Defaults to 1 second.