Skip to content

Commit 0a63de9

Browse files
committed
doc: haproxy protocol options
Signed-off-by: Sandor Szuecs <sandor.szuecs@zalando.de>
1 parent c35356b commit 0a63de9

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

docs/operation/operation.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,23 @@ average expected per request memory requirement, which can be set with the
175175
Note that the automatically inferred limit may not work as expected in an
176176
environment other than cgroups v1 or cgroups v2.
177177

178+
### HAProxy PROXY protocol v1/v2
179+
180+
Skipper integrates the [go-proxyproto](https://github.com/pires/go-proxyproto)
181+
library to implement the [HAProxy protocol](https://www.haproxy.org/download/2.3/doc/proxy-protocol.txt).
182+
183+
If you want to support this protocol in your skipper you have to
184+
enable the feature by setting `-enable-proxy-protocol`. For security
185+
reasons you have to allow list all CIDRs `-proxy-allow-cidrs`, that
186+
are allowed to use this protocol. You have also to allow to skip
187+
(`-proxy-skip-cidrs`) this protocol even if the client tried to use
188+
the proxy protocol. You can also deny some CIDRs `-proxy-deny-cidrs`.
189+
All 3 flags use comma separated values:
190+
`-proxy-allow-cidrs="::0/0,0.0.0.0/0"` to allow all IPv6 and IPv4
191+
addresses.
192+
193+
## Authentication and Authorization
194+
178195
### OAuth2 Tokeninfo
179196

180197
OAuth2 filters integrate with external services and have their own
@@ -716,7 +733,7 @@ The following timer metrics are exposed per used bundle-name:
716733
- `skipper.opaAuthorizeRequest.custom.eval_time.<bundle-name>`
717734
- `skipper.opaServeResponse.custom.eval_time.<bundle-name>`
718735

719-
Open Policy Agent [native Prometheus metrics](https://www.openpolicyagent.org/docs/monitoring#status-metrics) are passed through if the metrics backend is set to Prometheus (via `--metrics-flavour`).
736+
Open Policy Agent [native Prometheus metrics](https://www.openpolicyagent.org/docs/monitoring#status-metrics) are passed through if the metrics backend is set to Prometheus (via `--metrics-flavour`).
720737

721738
The OPA native metrics are prefixed with `skipper_openpolicyagent_`, e.g. `skipper_openpolicyagent_plugin_status_gauge` will be exposed via Skipper's `/metrics` endpoint. Two extra labels are added to all metrics: `opa_instance_name` (set to the bundle name parameter of the filters) and `opa_instance_id` (a random ID that identifies the virtual OPA instance).
722739

0 commit comments

Comments
 (0)