feat(domain): add Protocol field to ProxyTarget and gordon.proxy.protocol label
- commit
- a05dc46c700d61dd873097071f67dfaa8e46c2b4
- author
- brice · · 2026-03-15 22:28 UTC
- parent
- 0e03b5a
- signature
- unsigned
2 files · +5 -0
M internal/domain/labels.go +4 -0
| @@ -18,6 +18,10 @@ const ( | |||
| 18 | 18 | // LabelProxyPort specifies the container port to proxy HTTP traffic to. | |
| 19 | 19 | LabelProxyPort = "gordon.proxy.port" | |
| 20 | 20 | ||
| 21 | + | // LabelProxyProtocol specifies the backend protocol the container speaks. | |
| 22 | + | // Supported values: "h2c" (cleartext HTTP/2). When unset, HTTP/1.1 is assumed. | |
| 23 | + | LabelProxyProtocol = "gordon.proxy.protocol" | |
| 24 | + | ||
| 21 | 25 | // Auto-route image labels (for automatic route discovery) | |
| 22 | 26 | // LabelDomains specifies multiple route domains (comma-separated). | |
| 23 | 27 | LabelDomains = "gordon.domains" | |
| @@ -18,6 +18,10 @@ const ( | |||||
| 18 | // LabelProxyPort specifies the container port to proxy HTTP traffic to. | 18 | // LabelProxyPort specifies the container port to proxy HTTP traffic to. | ||
| 19 | LabelProxyPort = "gordon.proxy.port" | 19 | LabelProxyPort = "gordon.proxy.port" | ||
| 20 | 20 | ||||
| 21 | + | // LabelProxyProtocol specifies the backend protocol the container speaks. | |||
| 22 | + | // Supported values: "h2c" (cleartext HTTP/2). When unset, HTTP/1.1 is assumed. | |||
| 23 | + | LabelProxyProtocol = "gordon.proxy.protocol" | |||
| 24 | + | ||||
| 21 | // Auto-route image labels (for automatic route discovery) | 25 | // Auto-route image labels (for automatic route discovery) | ||
| 22 | // LabelDomains specifies multiple route domains (comma-separated). | 26 | // LabelDomains specifies multiple route domains (comma-separated). | ||
| 23 | LabelDomains = "gordon.domains" | 27 | LabelDomains = "gordon.domains" | ||
M internal/domain/route.go +1 -0
| @@ -13,6 +13,7 @@ type ProxyTarget struct { | |||
| 13 | 13 | Port int | |
| 14 | 14 | ContainerID string | |
| 15 | 15 | Scheme string // "http" or "https" | |
| 16 | + | Protocol string // "" (default HTTP/1.1) or "h2c" (cleartext HTTP/2) | |
| 16 | 17 | OriginalHost string // Original hostname before DNS resolution (for Host header) | |
| 17 | 18 | } | |
| 18 | 19 | ||
| @@ -13,6 +13,7 @@ type ProxyTarget struct { | |||||
| 13 | Port int | 13 | Port int | ||
| 14 | ContainerID string | 14 | ContainerID string | ||
| 15 | Scheme string // "http" or "https" | 15 | Scheme string // "http" or "https" | ||
| 16 | + | Protocol string // "" (default HTTP/1.1) or "h2c" (cleartext HTTP/2) | |||
| 16 | OriginalHost string // Original hostname before DNS resolution (for Host header) | 17 | OriginalHost string // Original hostname before DNS resolution (for Host header) | ||
| 17 | } | 18 | } | ||
| 18 | 19 | ||||