Skip to content

Commit 1811282

Browse files
committed
DOC: documentation for quic protocol
1 parent 67f3666 commit 1811282

File tree

3 files changed

+102
-0
lines changed

3 files changed

+102
-0
lines changed

documentation/annotations.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ This is autogenerated from [doc.yaml](doc.yaml). Description can be found in [ge
5252
| [path-rewrite](#path-rewrite) | string | | |:large_blue_circle:|:large_blue_circle:|:white_circle:|
5353
| [pod-maxconn](#maximum-concurrent-backend-connections) | number | | |:large_blue_circle:|:large_blue_circle:|:large_blue_circle:|
5454
| [proxy-protocol](#proxy-protocol) | IPs or CIDRs | | |:large_blue_circle:|:white_circle:|:white_circle:|
55+
| [quic-alt-svc-max-age](#quic-alt-svc-max-age) :construction:(dev) | number | | ssl-certificate |:large_blue_circle:|:white_circle:|:white_circle:|
5556
| [rate-limit-period](#rate-limit) | [time](#time) | "1s" | |:large_blue_circle:|:large_blue_circle:|:white_circle:|
5657
| [rate-limit-status-code](#rate-limit) | string | "403" | |:large_blue_circle:|:large_blue_circle:|:white_circle:|
5758
| [rate-limit-requests](#rate-limit) | number | | |:large_blue_circle:|:large_blue_circle:|:white_circle:|
@@ -1174,6 +1175,33 @@ proxy-protocol: "192.168.1.0/24, 192.168.2.100"
11741175

11751176
***
11761177

1178+
#### Quic Alt Svc Max Age
1179+
1180+
##### `quic-alt-svc-max-age`
1181+
1182+
1183+
> :construction: this is only available from next version, currently available in dev build
1184+
1185+
Sets the max age in seconds for the alt-svc header as defined by the standard.
1186+
1187+
Available on: `configmap`
1188+
1189+
:information_source: Too high a number can lead to issues. The clients could fail to connect because the services is no more available.
1190+
1191+
Possible values:
1192+
1193+
- number of seconds for cache retention.
1194+
1195+
Example:
1196+
1197+
```yaml
1198+
quic-alt-svc-max-age: "900"
1199+
```
1200+
1201+
<p align='right'><a href='#available-annotations'>:arrow_up_small: back to top</a></p>
1202+
1203+
***
1204+
11771205
#### Rate Limit
11781206

11791207
##### `rate-limit-period`
@@ -1648,6 +1676,8 @@ client-strict-sni: true
16481676

16491677
:information_source: this replaces default certificate
16501678

1679+
:information_source: this is used as the certificate for quic binding
1680+
16511681
Possible values:
16521682

16531683
- Name of Kubernetes secret

documentation/controller.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ Image can be run with arguments:
4242
| [`--disable-service-external-name`](#--disable-service-external-name) | `false` |
4343
| [`--channel-size`](#--channel-size) | `600` |
4444
| [`--disable-config-snippets`](#--disable-config-snippets) :construction:(dev) | |
45+
| [`--disable-quic`](#--disable-quic) :construction:(dev) | `false` |
46+
| [`--quick-announce-port`](#--quick-announce-port) :construction:(dev) | |
4547

4648

4749
### `--configmap`
@@ -744,3 +746,45 @@ Example:
744746

745747
***
746748

749+
### `--disable-quic`
750+
751+
752+
> :construction: this is only available from next version, currently available in dev build
753+
754+
option to disable the quic binding used by default if a certificate is provided throug ssl-certificate annotation. Please be aware that the quic implementation is activated with the "limited-quic" global option. Please refer to the documentation for details.
755+
756+
Possible values:
757+
758+
759+
Example:
760+
761+
```yaml
762+
args:
763+
- --disable-quic
764+
```
765+
766+
<p align='right'><a href='#haproxy-kubernetes-ingress-controller'>:arrow_up_small: back to top</a></p>
767+
768+
***
769+
770+
### `--quick-announce-port`
771+
772+
773+
> :construction: this is only available from next version, currently available in dev build
774+
775+
adjust the port in the alt-svc header to redirect to the exposed port in case it differs from the quic binding port.
776+
777+
Possible values:
778+
779+
780+
Example:
781+
782+
```yaml
783+
args:
784+
- --quick-announce-port=10443
785+
```
786+
787+
<p align='right'><a href='#haproxy-kubernetes-ingress-controller'>:arrow_up_small: back to top</a></p>
788+
789+
***
790+

documentation/doc.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,19 @@ image_arguments:
370370
- If 'all' is present then all (backend, frontend, global) config snippets are disabled.
371371
version_min: "1.11"
372372
example: --disable-config-snippets=backend,frontend
373+
- argument: --disable-quic
374+
description: option to disable the quic binding used by default if a certificate is provided throug ssl-certificate annotation. Please be aware that the quic implementation is activated with the "limited-quic" global option. Please refer to the documentation for details.
375+
default: false
376+
version_min: "1.11"
377+
example: |-
378+
args:
379+
- --disable-quic
380+
- argument: --quick-announce-port
381+
description: adjust the port in the alt-svc header to redirect to the exposed port in case it differs from the quic binding port.
382+
version_min: "1.11"
383+
example: |-
384+
args:
385+
- --quick-announce-port=10443
373386
groups:
374387
config-snippet:
375388
header: |-
@@ -1151,6 +1164,20 @@ annotations:
11511164
- configmap
11521165
version_min: "1.4"
11531166
example: ['proxy-protocol: "192.168.1.0/24, 192.168.2.100"']
1167+
- title: quic-alt-svc-max-age
1168+
type: number
1169+
dependencies: "ssl-certificate"
1170+
default: ""
1171+
description:
1172+
- Sets the max age in seconds for the alt-svc header as defined by the standard.
1173+
tip:
1174+
- Too high a number can lead to issues. The clients could fail to connect because the services is no more available.
1175+
values:
1176+
- number of seconds for cache retention.
1177+
applies_to:
1178+
- configmap
1179+
version_min: "1.11"
1180+
example: ['quic-alt-svc-max-age: "900"']
11541181
- title: rate-limit-period
11551182
type: "[time](#time)"
11561183
group: rate-limit
@@ -1534,6 +1561,7 @@ annotations:
15341561
- Sets the name of the Kubernetes secret that contains both the TLS key and certificate.
15351562
tip:
15361563
- this replaces default certificate
1564+
- this is used as the certificate for quic binding
15371565
values:
15381566
- Name of Kubernetes secret
15391567
applies_to:

0 commit comments

Comments
 (0)