18 Commits

Author SHA1 Message Date
williamp 0758422402 add unit tests for gateway api 2026-07-04 12:20:55 -04:00
williamp f5421dd332 add new values to README 2026-07-04 12:14:44 -04:00
williamp d3c493c65d feat: Gateway API support, in lieu of Ingress 2026-07-04 11:46:37 -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
renovate-bot 36906469cc chore(deps): update dependency go-gitea/gitea to v1.26.3 (#110)
changelog / changelog (push) Successful in 10s
check-and-test / check-and-test (push) Successful in 38s
generate-chart / generate-chart-publish (push) Successful in 29s
generate-chart / release-gitea (push) Successful in 6s
2026-06-20 21:01:15 +00:00
williamp 33a9eb07fd Merge pull request 'chore(deps): update actions/checkout action to v7' (#108) from renovate/actions-checkout-7.x into main
changelog / changelog (push) Successful in 10s
check-and-test / check-and-test (push) Successful in 58s
Reviewed-on: #108
2026-06-20 16:48:40 +00:00
renovate-bot 7ef4126275 chore(deps): update docker.io/thegeeklab/git-sv docker tag to v2.1.3 (#109)
changelog / changelog (push) Successful in 11s
check-and-test / check-and-test (push) Successful in 54s
2026-06-20 09:01:41 +00:00
renovate-bot 64713b0030 chore(deps): update actions/checkout action to v7
commitlint / check-and-test (pull_request) Successful in 10s
check-and-test / check-and-test (pull_request) Successful in 35s
2026-06-20 01:01:45 +00:00
renovate-bot a20abda219 chore(deps): update workflow dependencies (minor & patch) (#107)
changelog / changelog (push) Successful in 9s
check-and-test / check-and-test (push) Successful in 1m3s
2026-06-20 01:01:44 +00:00
renovate-bot a78459a76e chore(deps): update subcharts (minor & patch) (#106)
changelog / changelog (push) Successful in 6s
check-and-test / check-and-test (push) Successful in 58s
2026-06-20 00:07:02 +00:00
renovate-bot 0707ee54a5 chore(deps): update unittests/bash/bats digest to 5a7db7a (#105)
changelog / changelog (push) Successful in 8s
check-and-test / check-and-test (push) Successful in 1m0s
2026-06-20 00:01:29 +00:00
18 changed files with 370 additions and 64 deletions
+2 -2
View File
@@ -8,12 +8,12 @@ on:
jobs: jobs:
changelog: changelog:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: docker.io/thegeeklab/git-sv:2.1.2 container: docker.io/thegeeklab/git-sv:2.1.3
steps: steps:
- name: install tools - name: install tools
run: | run: |
apk add -q --update --no-cache nodejs curl jq sed apk add -q --update --no-cache nodejs curl jq sed
- uses: actions/checkout@v6 - uses: actions/checkout@v7
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Generate upcoming changelog - name: Generate upcoming changelog
+2 -2
View File
@@ -11,9 +11,9 @@ on:
jobs: jobs:
check-and-test: check-and-test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: commitlint/commitlint:21.0.2 container: commitlint/commitlint:21.2.0
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v7
- name: check PR title - name: check PR title
run: | run: |
echo "${{ gitea.event.pull_request.title }}" | commitlint --config .commitlintrc.json echo "${{ gitea.event.pull_request.title }}" | commitlint --config .commitlintrc.json
+4 -4
View File
@@ -9,7 +9,7 @@ jobs:
generate-chart-publish: generate-chart-publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v7
with: with:
fetch-depth: 0 fetch-depth: 0
@@ -21,7 +21,7 @@ jobs:
- name: Install helm - name: Install helm
env: env:
# renovate: datasource=docker depName=alpine/helm # renovate: datasource=docker depName=alpine/helm
HELM_VERSION: "4.2.1" HELM_VERSION: "4.2.2"
run: | 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 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/ mv linux-$(dpkg --print-architecture)/helm /usr/local/bin/
@@ -91,12 +91,12 @@ jobs:
release-gitea: release-gitea:
needs: generate-chart-publish needs: generate-chart-publish
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: docker.io/thegeeklab/git-sv:2.1.2 container: docker.io/thegeeklab/git-sv:2.1.3
steps: steps:
- name: install tools - name: install tools
run: | run: |
apk add -q --update --no-cache nodejs apk add -q --update --no-cache nodejs
- uses: actions/checkout@v6 - uses: actions/checkout@v7
with: with:
fetch-tags: true fetch-tags: true
fetch-depth: 0 fetch-depth: 0
+2 -2
View File
@@ -15,7 +15,7 @@ env:
jobs: jobs:
check-and-test: check-and-test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: alpine/helm:4.2.1 container: alpine/helm:4.2.2
steps: steps:
- name: install tools - 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 run: | # Hacky way of installing yamllint due to previous action failures, likely not needed after dependency fix is made on Alpine's side
@@ -24,7 +24,7 @@ jobs:
python3 -m venv /opt/venv python3 -m venv /opt/venv
/opt/venv/bin/pip install yamllint /opt/venv/bin/pip install yamllint
ln -s /opt/venv/bin/yamllint /usr/local/bin/yamllint ln -s /opt/venv/bin/yamllint /usr/local/bin/yamllint
- uses: actions/checkout@v6 - uses: actions/checkout@v7
- name: install chart dependencies - name: install chart dependencies
run: helm dependency build run: helm dependency build
- name: lint - name: lint
+4 -4
View File
@@ -1,7 +1,7 @@
dependencies: dependencies:
- name: postgresql - name: postgresql
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 18.7.3 version: 18.7.11
- name: postgresql-ha - name: postgresql-ha
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 16.3.2 version: 16.3.2
@@ -10,6 +10,6 @@ dependencies:
version: 3.0.24 version: 3.0.24
- name: valkey - name: valkey
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 6.1.5 version: 6.1.14
digest: sha256:5da6b27a80e0cd8affeb812b88a979d9f113d4853d4d7a389c64ab0e5289fe7b digest: sha256:7eeedc92664d1fccceafeadd55d10090e67bc11e1961cbd8f62a92f51c84586a
generated: "2026-06-13T01:01:13.603005802Z" generated: "2026-07-04T00:01:06.153107369Z"
+3 -3
View File
@@ -4,7 +4,7 @@ description: (Unofficial) Gitea Helm chart for Kubernetes
type: application type: application
version: 0.0.0 version: 0.0.0
# renovate datasource=github-releases depName=go-gitea/gitea extractVersion=^v(?<version>.*)$ # renovate datasource=github-releases depName=go-gitea/gitea extractVersion=^v(?<version>.*)$
appVersion: 1.26.2 appVersion: 1.26.4
icon: https://gitea.com/assets/img/logo.svg icon: https://gitea.com/assets/img/logo.svg
annotations: annotations:
@@ -32,7 +32,7 @@ dependencies:
# https://github.com/bitnami/charts/blob/main/bitnami/postgresql # https://github.com/bitnami/charts/blob/main/bitnami/postgresql
- name: postgresql - name: postgresql
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 18.7.3 version: 18.7.11
condition: postgresql.enabled condition: postgresql.enabled
# https://github.com/bitnami/charts/blob/main/bitnami/postgresql-ha/Chart.yaml # https://github.com/bitnami/charts/blob/main/bitnami/postgresql-ha/Chart.yaml
- name: postgresql-ha - name: postgresql-ha
@@ -47,5 +47,5 @@ dependencies:
# https://github.com/bitnami/charts/blob/main/bitnami/valkey/Chart.yaml # https://github.com/bitnami/charts/blob/main/bitnami/valkey/Chart.yaml
- name: valkey - name: valkey
repository: oci://registry-1.docker.io/bitnamicharts repository: oci://registry-1.docker.io/bitnamicharts
version: 6.1.5 version: 6.1.14
condition: valkey.enabled condition: valkey.enabled
+16 -3
View File
@@ -948,7 +948,7 @@ To comply with the Gitea helm chart definition of the digest parameter, a "custo
| `global.imagePullSecrets` | global image pull secrets override; can be extended by `imagePullSecrets` | `[]` | | `global.imagePullSecrets` | global image pull secrets override; can be extended by `imagePullSecrets` | `[]` |
| `global.storageClass` | global storage class override | `""` | | `global.storageClass` | global storage class override | `""` |
| `global.hostAliases` | global hostAliases which will be added to the pod's hosts files | `[]` | | `global.hostAliases` | global hostAliases which will be added to the pod's hosts files | `[]` |
| `namespace` | An explicit namespace to deploy Gitea into. Defaults to the release namespace if not specified | `""` | | `namespace` | An explicit namespace to deploy gitea into. Defaults to the release namespace if not specified | `""` |
| `replicaCount` | number of replicas for the deployment | `1` | | `replicaCount` | number of replicas for the deployment | `1` |
### strategy ### strategy
@@ -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 |
@@ -1070,8 +1083,8 @@ To comply with the Gitea helm chart definition of the digest parameter, a "custo
| `persistence.subPath` | Subdirectory of the volume to mount at | `nil` | | `persistence.subPath` | Subdirectory of the volume to mount at | `nil` |
| `persistence.volumeName` | Name of persistent volume in PVC | `""` | | `persistence.volumeName` | Name of persistent volume in PVC | `""` |
| `extraContainers` | Additional sidecar containers to run in the pod | `[]` | | `extraContainers` | Additional sidecar containers to run in the pod | `[]` |
| `preExtraInitContainers` | Additional init containers to run in the pod before Gitea runs it owns init containers. | `[]` | | `preExtraInitContainers` | Additional init containers to run in the pod before gitea runs it owns init containers. | `[]` |
| `postExtraInitContainers` | Additional init containers to run in the pod after Gitea runs it owns init containers. | `[]` | | `postExtraInitContainers` | Additional init containers to run in the pod after gitea runs it owns init containers. | `[]` |
| `extraVolumes` | Additional volumes to mount to the Gitea deployment | `[]` | | `extraVolumes` | Additional volumes to mount to the Gitea deployment | `[]` |
| `extraContainerVolumeMounts` | Mounts that are only mapped into the Gitea runtime/main container, to e.g. override custom templates. | `[]` | | `extraContainerVolumeMounts` | Mounts that are only mapped into the Gitea runtime/main container, to e.g. override custom templates. | `[]` |
| `extraInitVolumeMounts` | Mounts that are only mapped into the init-containers. Can be used for additional preconfiguration. | `[]` | | `extraInitVolumeMounts` | Mounts that are only mapped into the init-containers. Can be used for additional preconfiguration. | `[]` |
+62 -42
View File
@@ -8,7 +8,7 @@
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@bitnami/readme-generator-for-helm": "^2.5.0", "@bitnami/readme-generator-for-helm": "^2.5.0",
"markdownlint-cli": "^0.48.0" "markdownlint-cli": "^0.49.0"
}, },
"engines": { "engines": {
"node": ">=16.0.0", "node": ">=16.0.0",
@@ -402,10 +402,20 @@
} }
}, },
"node_modules/js-yaml": { "node_modules/js-yaml": {
"version": "4.1.1", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
"dev": true, "dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/nodeca"
}
],
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"argparse": "^2.0.1" "argparse": "^2.0.1"
@@ -459,9 +469,9 @@
} }
}, },
"node_modules/linkify-it": { "node_modules/linkify-it": {
"version": "5.0.1", "version": "5.0.2",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.1.tgz", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.2.tgz",
"integrity": "sha512-wVoTjP4Q6R0NW5hiZkVJaFZPWgtXfoGF+6LucL3/FtiNjmcHhYjEr5f1Kqjirc1nBW07J/ZuRFumqr2oqccEWg==", "integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -486,15 +496,25 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/markdown-it": { "node_modules/markdown-it": {
"version": "14.1.1", "version": "14.2.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.2.0.tgz",
"integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", "integrity": "sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==",
"dev": true, "dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/markdown-it"
}
],
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"argparse": "^2.0.1", "argparse": "^2.0.1",
"entities": "^4.4.0", "entities": "^4.4.0",
"linkify-it": "^5.0.0", "linkify-it": "^5.0.1",
"mdurl": "^2.0.0", "mdurl": "^2.0.0",
"punycode.js": "^2.3.1", "punycode.js": "^2.3.1",
"uc.micro": "^2.1.0" "uc.micro": "^2.1.0"
@@ -518,9 +538,9 @@
} }
}, },
"node_modules/markdownlint": { "node_modules/markdownlint": {
"version": "0.40.0", "version": "0.41.0",
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.40.0.tgz", "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.41.0.tgz",
"integrity": "sha512-UKybllYNheWac61Ia7T6fzuQNDZimFIpCg2w6hHjgV1Qu0w1TV0LlSgryUGzM0bkKQCBhy2FDhEELB73Kb0kAg==", "integrity": "sha512-xMUI3ChBuRuxuLF4ENvCZyS8z/+Jly1coUcZwErKLIB3sDj7ojpaTBa1e9YVPhSN4jGEIjYGQCldbTJS/hqS+A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -532,40 +552,40 @@
"micromark-extension-gfm-table": "2.1.1", "micromark-extension-gfm-table": "2.1.1",
"micromark-extension-math": "3.1.0", "micromark-extension-math": "3.1.0",
"micromark-util-types": "2.0.2", "micromark-util-types": "2.0.2",
"string-width": "8.1.0" "string-width": "8.2.1"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=22"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/DavidAnson" "url": "https://github.com/sponsors/DavidAnson"
} }
}, },
"node_modules/markdownlint-cli": { "node_modules/markdownlint-cli": {
"version": "0.48.0", "version": "0.49.0",
"resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.48.0.tgz", "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.49.0.tgz",
"integrity": "sha512-NkZQNu2E0Q5qLEEHwWj674eYISTLD4jMHkBzDobujXd1kv+yCxi8jOaD/rZoQNW1FBBMMGQpuW5So8B51N/e0A==", "integrity": "sha512-vS5tWq5W91Gg33LD4pyAaXPclnz/sRvo6/RGOyDQjQ3eds2DkK6H4szUuE0M9TiRB/u/VBx1gtd9Ktrtx5WlSA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"commander": "~14.0.3", "commander": "~15.0.0",
"deep-extend": "~0.6.0", "deep-extend": "~0.6.0",
"ignore": "~7.0.5", "ignore": "~7.0.5",
"js-yaml": "~4.1.1", "js-yaml": "~4.2.0",
"jsonc-parser": "~3.3.1", "jsonc-parser": "~3.3.1",
"jsonpointer": "~5.0.1", "jsonpointer": "~5.0.1",
"markdown-it": "~14.1.1", "markdown-it": "~14.2.0",
"markdownlint": "~0.40.0", "markdownlint": "~0.41.0",
"minimatch": "~10.2.4", "minimatch": "~10.2.5",
"run-con": "~1.3.2", "run-con": "~1.3.2",
"smol-toml": "~1.6.0", "smol-toml": "~1.6.1",
"tinyglobby": "~0.2.15" "tinyglobby": "~0.2.17"
}, },
"bin": { "bin": {
"markdownlint": "markdownlint.js" "markdownlint": "markdownlint.js"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=22"
} }
}, },
"node_modules/markdownlint-cli/node_modules/balanced-match": { "node_modules/markdownlint-cli/node_modules/balanced-match": {
@@ -579,9 +599,9 @@
} }
}, },
"node_modules/markdownlint-cli/node_modules/brace-expansion": { "node_modules/markdownlint-cli/node_modules/brace-expansion": {
"version": "5.0.6", "version": "5.0.7",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz",
"integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -592,13 +612,13 @@
} }
}, },
"node_modules/markdownlint-cli/node_modules/commander": { "node_modules/markdownlint-cli/node_modules/commander": {
"version": "14.0.3", "version": "15.0.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-15.0.0.tgz",
"integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", "integrity": "sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=20" "node": ">=22.12.0"
} }
}, },
"node_modules/markdownlint-cli/node_modules/minimatch": { "node_modules/markdownlint-cli/node_modules/minimatch": {
@@ -1231,9 +1251,9 @@
} }
}, },
"node_modules/picomatch": { "node_modules/picomatch": {
"version": "4.0.4", "version": "4.0.5",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -1293,14 +1313,14 @@
} }
}, },
"node_modules/string-width": { "node_modules/string-width": {
"version": "8.1.0", "version": "8.2.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==", "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"get-east-asian-width": "^1.3.0", "get-east-asian-width": "^1.5.0",
"strip-ansi": "^7.1.0" "strip-ansi": "^7.1.2"
}, },
"engines": { "engines": {
"node": ">=20" "node": ">=20"
+1 -1
View File
@@ -14,6 +14,6 @@
}, },
"devDependencies": { "devDependencies": {
"@bitnami/readme-generator-for-helm": "^2.5.0", "@bitnami/readme-generator-for-helm": "^2.5.0",
"markdownlint-cli": "^0.48.0" "markdownlint-cli": "^0.49.0"
} }
} }
+9
View File
@@ -471,3 +471,12 @@ https
{{- define "gitea.metrics-secret-name" -}} {{- define "gitea.metrics-secret-name" -}}
{{ default (printf "%s-metrics-secret" (include "gitea.fullname" .)) }} {{ default (printf "%s-metrics-secret" (include "gitea.fullname" .)) }}
{{- end -}} {{- 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 -}} {{- if .Values.ingress.enabled -}}
{{- $fullName := include "gitea.fullname" . -}} {{- $fullName := include "gitea.fullname" . -}}
{{- $httpPort := .Values.service.http.port -}} {{- $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: 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
+24
View File
@@ -177,6 +177,30 @@ ingress:
# hosts: # hosts:
# - git.example.com # - 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 ## @section deployment
# #
## @param resources Kubernetes resources ## @param resources Kubernetes resources