Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c75355499d | |||
|
84349e6385
|
@@ -1026,6 +1026,19 @@ 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 |
|
||||||
|
|||||||
@@ -0,0 +1,74 @@
|
|||||||
|
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"
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
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: "/"
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
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,3 +12,14 @@ 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
|
||||||
|
|||||||
+4
-1
@@ -178,9 +178,12 @@ 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 HTTPRoute parentRefs
|
## @param gateway.httpRoute.parentRefs[0].name HTTPRoute Gateway name
|
||||||
|
## @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:
|
||||||
|
|||||||
Reference in New Issue
Block a user