20 Commits

Author SHA1 Message Date
renovate-bot a59c281096 chore(deps): update lockfiles (#128)
changelog / changelog (push) Successful in 10s
check-and-test / check-and-test (push) Successful in 40s
2026-07-14 22:02:40 +00:00
renovate-bot 97da742515 chore(deps): update lockfiles (#127)
changelog / changelog (push) Successful in 7s
check-and-test / check-and-test (push) Successful in 1m22s
2026-07-14 20:02:20 +00:00
renovate-bot 0d1d6de361 chore(deps): update dependency go-gitea/gitea to v1.27.0 (#126)
changelog / changelog (push) Successful in 7s
check-and-test / check-and-test (push) Successful in 40s
2026-07-13 18:01:35 +00:00
renovate-bot 08dae3dad1 chore(deps): update lockfiles (#125)
changelog / changelog (push) Successful in 8s
check-and-test / check-and-test (push) Successful in 40s
2026-07-13 05:01:33 +00:00
renovate-bot 914c064e92 chore(deps): update workflow dependencies (minor & patch) (#124)
changelog / changelog (push) Successful in 8s
check-and-test / check-and-test (push) Successful in 42s
2026-07-11 01:01:32 +00:00
renovate-bot b9a435453d chore(deps): update subcharts (minor & patch) (#123)
changelog / changelog (push) Successful in 7s
check-and-test / check-and-test (push) Successful in 37s
2026-07-11 00:07:12 +00:00
renovate-bot a2a162ed3f chore(deps): update unittests/bash/bats digest to c18b2f7 (#122)
changelog / changelog (push) Successful in 9s
check-and-test / check-and-test (push) Successful in 38s
2026-07-11 00:01:51 +00:00
renovate-bot a4efda515c chore(deps): update lockfiles (#121)
changelog / changelog (push) Successful in 9s
check-and-test / check-and-test (push) Successful in 35s
2026-07-10 13:02:04 +00:00
renovate-bot 06a7bb37a9 chore(deps): update lockfiles (#120)
changelog / changelog (push) Successful in 6s
check-and-test / check-and-test (push) Successful in 37s
2026-07-08 07:01:29 +00:00
renovate-bot 7eb97b2f2b chore(deps): update lockfiles (#120)
changelog / changelog (push) Successful in 9s
check-and-test / check-and-test (push) Successful in 38s
2026-07-08 07:01:24 +00:00
williamp c75355499d Merge pull request 'feat(new): gateway support' (#119) from feat-gateway-api into main
changelog / changelog (push) Successful in 9s
check-and-test / check-and-test (push) Successful in 39s
generate-chart / generate-chart-publish (push) Successful in 31s
generate-chart / release-gitea (push) Successful in 10s
Reviewed-on: #119
2026-07-04 16:34:13 +00:00
williamp 84349e6385 feat(new): gateway api support
check-and-test / check-and-test (pull_request) Successful in 39s
2026-07-04 12:30:38 -04:00
renovate-bot 0bdf8c789d chore(deps): update commitlint/commitlint docker tag to v21.2.0 (#118)
changelog / changelog (push) Successful in 7s
check-and-test / check-and-test (push) Successful in 42s
2026-07-04 00:08:54 +00:00
renovate-bot ca3a022261 chore(deps): update subcharts (minor & patch) (#117)
changelog / changelog (push) Successful in 14s
check-and-test / check-and-test (push) Successful in 41s
2026-07-04 00:08:44 +00:00
renovate-bot 01aec86f96 chore(deps): update lockfiles (#116)
changelog / changelog (push) Successful in 8s
check-and-test / check-and-test (push) Successful in 37s
2026-07-02 17:01:16 +00:00
renovate-bot 037a0cd190 chore(deps): update lockfiles (#115)
changelog / changelog (push) Successful in 47s
check-and-test / check-and-test (push) Successful in 1m50s
2026-07-02 00:01:56 +00:00
renovate-bot 3049bcaa95 chore(deps): update lockfiles (#114)
changelog / changelog (push) Successful in 8s
check-and-test / check-and-test (push) Successful in 1m1s
2026-06-29 04:01:25 +00:00
renovate-bot a36ec46c62 chore(deps): update commitlint/commitlint docker tag to v21.1.0 (#113)
changelog / changelog (push) Successful in 6s
check-and-test / check-and-test (push) Successful in 36s
2026-06-27 00:06:49 +00:00
renovate-bot e8c151b59c chore(deps): update subcharts (minor & patch) (#112)
changelog / changelog (push) Successful in 6s
check-and-test / check-and-test (push) Successful in 1m2s
2026-06-27 00:06:38 +00:00
renovate-bot 735f5e24d5 chore(deps): update dependency go-gitea/gitea to v1.26.4 (#111)
changelog / changelog (push) Successful in 6s
check-and-test / check-and-test (push) Successful in 44s
generate-chart / generate-chart-publish (push) Successful in 27s
generate-chart / release-gitea (push) Successful in 11s
2026-06-21 17:01:07 +00:00
16 changed files with 344 additions and 58 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ on:
jobs:
check-and-test:
runs-on: ubuntu-latest
container: commitlint/commitlint:21.0.2
container: commitlint/commitlint:21.2.1
steps:
- uses: actions/checkout@v7
- name: check PR title
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
- name: Install helm
env:
# renovate: datasource=docker depName=alpine/helm
HELM_VERSION: "4.2.2"
HELM_VERSION: "4.2.3"
run: |
curl --fail --location --output /dev/stdout --silent --show-error https://get.helm.sh/helm-v${HELM_VERSION}-linux-$(dpkg --print-architecture).tar.gz | tar --extract --gzip --file /dev/stdin
mv linux-$(dpkg --print-architecture)/helm /usr/local/bin/
+1 -1
View File
@@ -15,7 +15,7 @@ env:
jobs:
check-and-test:
runs-on: ubuntu-latest
container: alpine/helm:4.2.2
container: alpine/helm:4.2.3
steps:
- name: install tools
run: | # Hacky way of installing yamllint due to previous action failures, likely not needed after dependency fix is made on Alpine's side
+4 -4
View File
@@ -1,7 +1,7 @@
dependencies:
- name: postgresql
repository: oci://registry-1.docker.io/bitnamicharts
version: 18.7.6
version: 18.7.13
- name: postgresql-ha
repository: oci://registry-1.docker.io/bitnamicharts
version: 16.3.2
@@ -10,6 +10,6 @@ dependencies:
version: 3.0.24
- name: valkey
repository: oci://registry-1.docker.io/bitnamicharts
version: 6.1.9
digest: sha256:b64f4fef8450b7d16263cdca87558e45cea2560990ad4ab3dd319e05709d12df
generated: "2026-06-20T00:01:35.832598614Z"
version: 6.1.16
digest: sha256:2a913c1b687d62306ed86aa073108ad6e166cd4b626132c5285bb1e0dd4526cf
generated: "2026-07-11T00:01:57.381650876Z"
+3 -3
View File
@@ -4,7 +4,7 @@ description: (Unofficial) Gitea Helm chart for Kubernetes
type: application
version: 0.0.0
# renovate datasource=github-releases depName=go-gitea/gitea extractVersion=^v(?<version>.*)$
appVersion: 1.26.3
appVersion: 1.27.0
icon: https://gitea.com/assets/img/logo.svg
annotations:
@@ -32,7 +32,7 @@ dependencies:
# https://github.com/bitnami/charts/blob/main/bitnami/postgresql
- name: postgresql
repository: oci://registry-1.docker.io/bitnamicharts
version: 18.7.6
version: 18.7.13
condition: postgresql.enabled
# https://github.com/bitnami/charts/blob/main/bitnami/postgresql-ha/Chart.yaml
- name: postgresql-ha
@@ -47,5 +47,5 @@ dependencies:
# https://github.com/bitnami/charts/blob/main/bitnami/valkey/Chart.yaml
- name: valkey
repository: oci://registry-1.docker.io/bitnamicharts
version: 6.1.9
version: 6.1.16
condition: valkey.enabled
+13
View File
@@ -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.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
| Name | Description | Value |
+47 -47
View File
@@ -91,9 +91,9 @@
"license": "MIT"
},
"node_modules/brace-expansion": {
"version": "1.1.15",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz",
"integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==",
"version": "1.1.16",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz",
"integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -315,9 +315,9 @@
}
},
"node_modules/ignore": {
"version": "7.0.5",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
"integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.6.tgz",
"integrity": "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -344,13 +344,13 @@
"license": "ISC"
},
"node_modules/ini": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz",
"integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/ini/-/ini-7.0.0.tgz",
"integrity": "sha512-ifK0CgjALofS5bkrcTy4RaQ9Vx2Knf/eLeIO+NaswQEpH1UblrtTSCIvN71qQDMq0PeQ/SSPojvEJp9vvvfr+w==",
"dev": true,
"license": "ISC",
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
"node": "^22.22.2 || ^24.15.0 || >=26.0.0"
}
},
"node_modules/is-alphabetical": {
@@ -402,9 +402,9 @@
}
},
"node_modules/js-yaml": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
"integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.1.tgz",
"integrity": "sha512-zfLtNfQqxVqq3uaTqSkh4x4hZw3KHobGUA0fJUj4wawW8bsQLTVqpHdXSIzidh7o+4lEW36tANuAGdaFx6Zgnw==",
"dev": true,
"funding": [
{
@@ -421,7 +421,7 @@
"argparse": "^2.0.1"
},
"bin": {
"js-yaml": "bin/js-yaml.js"
"js-yaml": "bin/js-yaml.mjs"
}
},
"node_modules/jsonc-parser": {
@@ -469,9 +469,9 @@
}
},
"node_modules/linkify-it": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.1.tgz",
"integrity": "sha512-wVoTjP4Q6R0NW5hiZkVJaFZPWgtXfoGF+6LucL3/FtiNjmcHhYjEr5f1Kqjirc1nBW07J/ZuRFumqr2oqccEWg==",
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.2.tgz",
"integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==",
"dev": true,
"funding": [
{
@@ -496,9 +496,9 @@
"license": "MIT"
},
"node_modules/markdown-it": {
"version": "14.2.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.2.0.tgz",
"integrity": "sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==",
"version": "14.3.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.3.0.tgz",
"integrity": "sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==",
"dev": true,
"funding": [
{
@@ -513,8 +513,8 @@
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
"entities": "^4.4.0",
"linkify-it": "^5.0.1",
"entities": "^4.5.0",
"linkify-it": "^5.0.2",
"mdurl": "^2.0.0",
"punycode.js": "^2.3.1",
"uc.micro": "^2.1.0"
@@ -538,9 +538,9 @@
}
},
"node_modules/markdownlint": {
"version": "0.41.0",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.41.0.tgz",
"integrity": "sha512-xMUI3ChBuRuxuLF4ENvCZyS8z/+Jly1coUcZwErKLIB3sDj7ojpaTBa1e9YVPhSN4jGEIjYGQCldbTJS/hqS+A==",
"version": "0.41.1",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.41.1.tgz",
"integrity": "sha512-qHKeU2E1bdyNAT077go2FVTNXvYcktN5IHtF6XyeD1l0PClxzSp2tUApAV14ORI8DGX4H9bNKZEzelZp4qn8IA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -562,23 +562,23 @@
}
},
"node_modules/markdownlint-cli": {
"version": "0.49.0",
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.49.0.tgz",
"integrity": "sha512-vS5tWq5W91Gg33LD4pyAaXPclnz/sRvo6/RGOyDQjQ3eds2DkK6H4szUuE0M9TiRB/u/VBx1gtd9Ktrtx5WlSA==",
"version": "0.49.1",
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.49.1.tgz",
"integrity": "sha512-qpYqJbSYf3jv57bdnFmCaZ/Wlu6IYHp2b6SOKrKBJ7OnPrDHIKmx4NERWH49QH9viTI6yO6raVDDn5nrf60VQQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"commander": "~15.0.0",
"deep-extend": "~0.6.0",
"ignore": "~7.0.5",
"js-yaml": "~4.2.0",
"ignore": "~7.0.6",
"js-yaml": "~5.2.1",
"jsonc-parser": "~3.3.1",
"jsonpointer": "~5.0.1",
"markdown-it": "~14.2.0",
"markdownlint": "~0.41.0",
"markdown-it": "~14.3.0",
"markdownlint": "~0.41.1",
"minimatch": "~10.2.5",
"run-con": "~1.3.2",
"smol-toml": "~1.6.1",
"run-con": "~1.3.3",
"smol-toml": "~1.7.0",
"tinyglobby": "~0.2.17"
},
"bin": {
@@ -599,9 +599,9 @@
}
},
"node_modules/markdownlint-cli/node_modules/brace-expansion": {
"version": "5.0.6",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
"integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
"version": "5.0.7",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz",
"integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1251,9 +1251,9 @@
}
},
"node_modules/picomatch": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
"integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1284,14 +1284,14 @@
}
},
"node_modules/run-con": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/run-con/-/run-con-1.3.2.tgz",
"integrity": "sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==",
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/run-con/-/run-con-1.3.3.tgz",
"integrity": "sha512-Lb7OKM9aaykzyoNiHGhSVCjZsvbyy6qDMp2vDXL+MoCfz3GfNJtHYH7uYsU3QNMyInBk++xx+EZ8xZ8Sxs5fNQ==",
"dev": true,
"license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
"dependencies": {
"deep-extend": "^0.6.0",
"ini": "~4.1.0",
"ini": "~7.0.0",
"minimist": "^1.2.8",
"strip-json-comments": "~3.1.1"
},
@@ -1300,9 +1300,9 @@
}
},
"node_modules/smol-toml": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz",
"integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==",
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
"integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
+9
View File
@@ -471,3 +471,12 @@ https
{{- define "gitea.metrics-secret-name" -}}
{{ default (printf "%s-metrics-secret" (include "gitea.fullname" .)) }}
{{- end -}}
{{/*
Validate that Ingress and Gateway HTTPRoute are not enabled at the same time
*/}}
{{- define "gitea.validate-ingress-gateway-conflict" -}}
{{- if and ((.Values.ingress).enabled) (((.Values.gateway).httpRoute).enabled) -}}
{{- fail "You cannot enable both Ingress and HTTPRoute at the same time" -}}
{{- end -}}
{{- end -}}
+79
View File
@@ -0,0 +1,79 @@
{{- include "gitea.validate-ingress-gateway-conflict" . }}
{{- if .Values.gateway.httpRoute.enabled -}}
{{- $fullName := include "gitea.fullname" . -}}
{{- $httpPort := .Values.service.http.port -}}
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: {{ $fullName }}
namespace: {{ .Values.namespace | default .Release.Namespace }}
labels:
{{- include "gitea.labels" . | nindent 4 }}
annotations:
{{- range $key, $value := .Values.gateway.httpRoute.annotations }}
{{ $key }}: {{ $value | quote }}
{{- end }}
spec:
hostnames:
{{- range .Values.gateway.httpRoute.hostnames }}
- {{ tpl . $ | quote }}
{{- end }}
parentRefs:
{{- range .Values.gateway.httpRoute.parentRefs }}
- name: {{ .name | quote }}
{{- if .namespace }}
namespace: {{ .namespace | quote }}
{{- end }}
{{- if .kind }}
kind: {{ .kind | quote }}
{{- end }}
{{- if .group }}
group: {{ .group | quote }}
{{- end }}
{{- if .sectionName }}
sectionName: {{ .sectionName | quote }}
{{- end }}
{{- if .port }}
port: {{ .port }}
{{- end }}
{{- end }}
rules:
{{- if .Values.gateway.httpRoute.paths }}
{{- range .Values.gateway.httpRoute.paths }}
{{- if kindIs "string" . }}
- matches:
- path:
type: {{ default "PathPrefix" $.Values.gateway.httpRoute.pathType }}
value: {{ . }}
backendRefs:
- group: ""
kind: Service
name: {{ $fullName }}-http
namespace: {{ $.Values.namespace | default $.Release.Namespace }}
port: {{ $httpPort }}
{{- else }}
- matches:
- path:
type: {{ .pathType | default "PathPrefix" }}
value: {{ .path | default "/" }}
backendRefs:
- group: ""
kind: Service
name: {{ $fullName }}-http
namespace: {{ $.Values.namespace | default $.Release.Namespace }}
port: {{ $httpPort }}
{{- end }}
{{- end }}
{{- else }}
- matches:
- path:
type: PathPrefix
value: "/"
backendRefs:
- group: ""
kind: Service
name: {{ $fullName }}-http
namespace: {{ .Values.namespace | default .Release.Namespace }}
port: {{ $httpPort }}
{{- end }}
{{- end }}
+1
View File
@@ -1,3 +1,4 @@
{{- include "gitea.validate-ingress-gateway-conflict" . }}
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "gitea.fullname" . -}}
{{- $httpPort := .Values.service.http.port -}}
+74
View File
@@ -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:
- failedTemplate:
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
+24
View File
@@ -177,6 +177,30 @@ ingress:
# hosts:
# - git.example.com
## @section Gateway
## @param gateway.httpRoute.enabled Enable HTTPRoute
## @param gateway.httpRoute.annotations HTTPRoute annotations
## @param gateway.httpRoute.hostnames HTTPRoute hostnames
## @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.paths[0].path Default HTTPRoute path
gateway:
httpRoute:
enabled: false
annotations: {}
hostnames:
- git.example.com
parentRefs:
- name: traefik
sectionName: https
kind: Gateway
pathType: PathPrefix
paths:
- path: /
## @section deployment
#
## @param resources Kubernetes resources