1 Commits

Author SHA1 Message Date
williamp d3c493c65d feat: Gateway API support, in lieu of Ingress 2026-07-04 11:46:37 -04:00
6 changed files with 1 additions and 177 deletions
-13
View File
@@ -1026,19 +1026,6 @@ To comply with the Gitea helm chart definition of the digest parameter, a "custo
| `ingress.hosts[0].paths[0].path` | Default Ingress path | `/` | | `ingress.hosts[0].paths[0].path` | Default Ingress path | `/` |
| `ingress.tls` | Ingress tls settings | `[]` | | `ingress.tls` | Ingress tls settings | `[]` |
### Gateway
| Name | Description | Value |
| --------------------------------------------- | ---------------------------------------------------------------- | --------------------- |
| `gateway.httpRoute.enabled` | Enable HTTPRoute | `false` |
| `gateway.httpRoute.annotations` | HTTPRoute annotations | `{}` |
| `gateway.httpRoute.hostnames` | HTTPRoute hostnames | `["git.example.com"]` |
| `gateway.httpRoute.parentRefs[0].name` | HTTPRoute Gateway name | `traefik` |
| `gateway.httpRoute.parentRefs[0].sectionName` | HTTPRoute Gateway section name | `https` |
| `gateway.httpRoute.parentRefs[0].kind` | HTTPRoute Gateway kind | `Gateway` |
| `gateway.httpRoute.pathType` | HTTPRoute path match type (PathPrefix, Exact, RegularExpression) | `PathPrefix` |
| `gateway.httpRoute.paths[0].path` | Default HTTPRoute path | `/` |
### deployment ### deployment
| Name | Description | Value | | Name | Description | Value |
-74
View File
@@ -1,74 +0,0 @@
suite: Test httproute.yaml
templates:
- templates/gitea/httproute.yaml
tests:
- it: should enable httproute when gateway.httpRoute.enabled is true
set:
gateway.httpRoute.enabled: true
gateway.httpRoute.annotations:
some-annotation: some-value
gateway.httpRoute.hostnames:
- example.com
gateway.httpRoute.parentRefs:
- name: traefik
sectionName: https
kind: Gateway
gateway.httpRoute.paths:
- path: /
asserts:
- hasDocuments:
count: 1
- isKind:
of: HTTPRoute
- isAPIVersion:
of: gateway.networking.k8s.io/v1
- equal:
path: metadata.name
value: RELEASE-NAME-gitea
- equal:
path: metadata.annotations["some-annotation"]
value: some-value
- equal:
path: spec.hostnames[0]
value: "example.com"
- equal:
path: spec.parentRefs[0].name
value: "traefik"
- equal:
path: spec.parentRefs[0].kind
value: "Gateway"
- equal:
path: spec.parentRefs[0].sectionName
value: "https"
- equal:
path: spec.rules[0].matches[0].path.type
value: "PathPrefix"
- equal:
path: spec.rules[0].matches[0].path.value
value: "/"
- equal:
path: spec.rules[0].backendRefs[0].name
value: "RELEASE-NAME-gitea-http"
- equal:
path: spec.rules[0].backendRefs[0].port
value: 3000
- it: should not create httproute when gateway.httpRoute.enabled is false
set:
gateway.httpRoute.enabled: false
asserts:
- hasDocuments:
count: 0
- it: hostname using TPL
set:
global.giteaHostName: "gitea.example.com"
gateway.httpRoute.enabled: true
gateway.httpRoute.hostnames:
- "{{ .Values.global.giteaHostName }}"
asserts:
- isKind:
of: HTTPRoute
- equal:
path: spec.hostnames[0]
value: "gitea.example.com"
@@ -1,19 +0,0 @@
suite: Test httproute with implicit path defaults
templates:
- templates/gitea/httproute.yaml
tests:
- it: should use default path and pathType when no paths are specified
set:
gateway.httpRoute.enabled: true
gateway.httpRoute.paths: []
asserts:
- hasDocuments:
count: 1
- isKind:
of: HTTPRoute
- equal:
path: spec.rules[0].matches[0].path.type
value: "PathPrefix"
- equal:
path: spec.rules[0].matches[0].path.value
value: "/"
@@ -1,56 +0,0 @@
suite: Test httproute with structured paths
templates:
- templates/gitea/httproute.yaml
tests:
- it: should work with a plain string path
set:
gateway.httpRoute.enabled: true
gateway.httpRoute.paths:
- /
asserts:
- hasDocuments:
count: 1
- isKind:
of: HTTPRoute
- equal:
path: spec.rules[0].matches[0].path.type
value: "PathPrefix"
- equal:
path: spec.rules[0].matches[0].path.value
value: "/"
- it: should work with structured path definitions and per-path pathType
set:
gateway.httpRoute.enabled: true
gateway.httpRoute.paths:
- path: /
- path: /foo
pathType: Exact
asserts:
- hasDocuments:
count: 1
- isKind:
of: HTTPRoute
- equal:
path: spec.rules[0].matches[0].path.type
value: "PathPrefix"
- equal:
path: spec.rules[0].matches[0].path.value
value: "/"
- equal:
path: spec.rules[1].matches[0].path.type
value: "Exact"
- equal:
path: spec.rules[1].matches[0].path.value
value: "/foo"
- it: should allow overriding the default pathType
set:
gateway.httpRoute.enabled: true
gateway.httpRoute.pathType: Exact
gateway.httpRoute.paths:
- /
asserts:
- equal:
path: spec.rules[0].matches[0].path.type
value: "Exact"
@@ -12,14 +12,3 @@ tests:
asserts: asserts:
- failedTemplate: - failedTemplate:
errorMessage: valkey and valkey-cluster cannot be enabled at the same time. Please only choose one. errorMessage: valkey and valkey-cluster cannot be enabled at the same time. Please only choose one.
- it: fails when trying to enable ingress and gateway httpRoute at the same time
set:
ingress:
enabled: true
gateway:
httpRoute:
enabled: true
asserts:
- failedTemplate:
errorMessage: You cannot enable both Ingress and HTTPRoute at the same time
+1 -4
View File
@@ -178,12 +178,9 @@ ingress:
# - git.example.com # - git.example.com
## @section Gateway ## @section Gateway
## @param gateway.httpRoute.enabled Enable HTTPRoute
## @param gateway.httpRoute.annotations HTTPRoute annotations ## @param gateway.httpRoute.annotations HTTPRoute annotations
## @param gateway.httpRoute.hostnames HTTPRoute hostnames ## @param gateway.httpRoute.hostnames HTTPRoute hostnames
## @param gateway.httpRoute.parentRefs[0].name HTTPRoute Gateway name ## @param gateway.httpRoute.parentRefs HTTPRoute parentRefs
## @param gateway.httpRoute.parentRefs[0].sectionName HTTPRoute Gateway section name
## @param gateway.httpRoute.parentRefs[0].kind HTTPRoute Gateway kind
## @param gateway.httpRoute.pathType HTTPRoute path match type (PathPrefix, Exact, RegularExpression) ## @param gateway.httpRoute.pathType HTTPRoute path match type (PathPrefix, Exact, RegularExpression)
## @param gateway.httpRoute.paths[0].path Default HTTPRoute path ## @param gateway.httpRoute.paths[0].path Default HTTPRoute path
gateway: gateway: