|
2 | 2 |
|
3 | 3 | <img src="https://raw.githubusercontent.com/homarr-labs/charts/refs/heads/main/charts/homarr/icon.svg" align="right" width="92" alt="homarr logo"> |
4 | 4 |
|
5 | | - |
| 5 | + |
6 | 6 |  |
7 | 7 |  |
8 | 8 |
|
@@ -240,6 +240,42 @@ ingress: |
240 | 240 | ```` |
241 | 241 | </details> |
242 | 242 |
|
| 243 | +### HTTPRoute (Gateway API) |
| 244 | + |
| 245 | +The httproute section in the values.yaml file allows you to configure how external traffic accesses your application using the Kubernetes Gateway API. |
| 246 | +This provides a more expressive and future-proof alternative to Ingress, with support for advanced routing, filters, and multiple parent Gateways. |
| 247 | + |
| 248 | +<details> |
| 249 | +<summary>values.yaml</summary> |
| 250 | + |
| 251 | +````yaml |
| 252 | +service: |
| 253 | + enabled: true # must be enabled for HTTPRoute to forward traffic |
| 254 | +httproute: |
| 255 | + enabled: true |
| 256 | + parentRefs: |
| 257 | + - name: my-gateway |
| 258 | + namespace: default |
| 259 | + hostnames: |
| 260 | + - homarr.homelab.dev |
| 261 | + rules: |
| 262 | + - matches: |
| 263 | + - path: |
| 264 | + type: PathPrefix |
| 265 | + value: / |
| 266 | + backendRefs: |
| 267 | + - name: homarr |
| 268 | + port: 8080 |
| 269 | +```` |
| 270 | +</details> |
| 271 | + |
| 272 | +#### Notes: |
| 273 | + |
| 274 | +- parentRefs: the Gateway(s) this route attaches to. Gateways must already exist. |
| 275 | +- hostnames: domain names this route applies to. |
| 276 | +- rules: each rule can define matches (paths, headers, queries), optional filters, and backendRefs to services |
| 277 | +- TLS must be configured on the Gateway (not on HTTPRoute). For example, the Gateway can have a TLS listener for homarr.homelab.dev, and this route will automatically apply once matched. |
| 278 | + |
243 | 279 | ### Certificates |
244 | 280 |
|
245 | 281 | Configuration for trusted certificate persistence. Supports: |
@@ -386,6 +422,14 @@ All available values are listed on the [artifacthub](https://artifacthub.io/pack |
386 | 422 | | envSecrets.dbCredentials.existingSecret | string | `"db-secret"` | Name of existing secret containing DB credentials | |
387 | 423 | | fullnameOverride | string | `""` | Overrides chart's fullname | |
388 | 424 | | hostAliases | list | `[]` | Add static entries to /etc/hosts in the Pod. This is useful in the following cases: - You are running in a dual-stack cluster (IPv4 + IPv6) and want to force usage of IPv4 for specific hostnames - Your application is having DNS resolution issues or IPv6 preference issues - You need to override or simulate DNS entries without changing global DNS - You are running in an air-gapped or isolated environment without external DNS Example: hostAliases: - ip: "192.168.1.10" hostnames: - "example.com" - "example.internal" | |
| 425 | +| httproute | object | `{"enabled":false,"hostnames":["chart-example.local"],"parentRefs":[{"name":"my-gateway","namespace":"default"}],"rules":[{"backendRefs":[{"name":"homarr","port":8080}],"filters":[],"matches":[{"path":{"type":"PathPrefix","value":"/"}}]}]}` | Gateway API HTTPRoute configuration | |
| 426 | +| httproute.enabled | bool | `false` | Enable HTTPRoute | |
| 427 | +| httproute.hostnames | list | `["chart-example.local"]` | Hostnames this route matches (similar to ingress.hosts.host) | |
| 428 | +| httproute.parentRefs | list | `[{"name":"my-gateway","namespace":"default"}]` | References to the parent Gateway(s) this route attaches to. Each item must include at least a `name`, and optionally a `namespace`. | |
| 429 | +| httproute.rules | list | `[{"backendRefs":[{"name":"homarr","port":8080}],"filters":[],"matches":[{"path":{"type":"PathPrefix","value":"/"}}]}]` | List of routing rules. Each rule can include: - matches: path/header/query matching - filters: optional transformations (redirects, header modifications, etc.) - backendRefs: one or more Kubernetes Services to forward traffic to | |
| 430 | +| httproute.rules[0].filters | list | `[]` | Optional filters for this rule (default: empty) | |
| 431 | +| httproute.rules[0].matches[0].path.type | string | `"PathPrefix"` | Path match type. One of: Exact, PathPrefix, RegularExpression | |
| 432 | +| httproute.rules[0].matches[0].path.value | string | `"/"` | Path value to match | |
389 | 433 | | image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | |
390 | 434 | | image.repository | string | `"ghcr.io/homarr-labs/homarr"` | Image repository | |
391 | 435 | | image.tag | string | `"v1.39.0"` | Overrides the image tag whose default is the chart appVersion | |
|
0 commit comments