Compare commits

...
10 Commits
Author SHA1 Message Date
volker.raschek ccea2082c3 fix(ci): add xterm
changelog / changelog (push) Successful in 20s
Bash / bash-unittest (push) Successful in 29s
Helm / helm-unittest (push) Successful in 1m12s
Helm / helm-lint (push) Successful in 10s
2026-09-14 20:59:24 +02:00
volker.raschek 4016c5396d fix(ci): add bash unittests
changelog / changelog (push) Successful in 17s
Bash / bash-unittest (push) Failing after 23s
Helm / helm-lint (push) Successful in 8s
Helm / helm-unittest (push) Successful in 1m11s
2026-09-14 20:57:01 +02:00
volker.raschekandCopilot d35177ec71 chore(renovate): migrate the configuration to plain JSON
Helm / helm-lint (push) Successful in 17s
changelog / changelog (push) Successful in 20s
Helm / helm-unittest (push) Successful in 1m9s
The JSON5 syntax was not used for anything that JSON cannot express. The only comment-looking entry was already a
`description` field, which renovate evaluates itself and which therefore survives the conversion. Plain JSON is the
better default here, because it needs no dedicated parser in editors and tooling.

The converted configuration was verified against the JSON5 parser to be structurally identical to its predecessor.

Co-authored-by: Copilot <copilot@github.com>
2026-09-14 20:42:40 +02:00
volker.raschekandCopilot e97f3b3bba fix(ci): resolve the helm dependencies with dependency update
changelog / changelog (push) Successful in 16s
Helm / helm-lint (push) Successful in 16s
Helm / helm-unittest (push) Successful in 31s
`helm dependency build` only downloads charts from repositories that are already registered in the local repository
cache. On a fresh runner that cache is empty, so the classic repository of the valkey dependency could not be resolved:
"no repository definition for https://valkey.io/valkey-helm. Please add the missing repos via 'helm repo add'". The two
bitnami dependencies were unaffected, because OCI references do not need a repository entry.

`helm dependency update` resolves the repository URLs straight from `Chart.yaml` and therefore needs no additional
`helm repo add` step. Repeating the URL in the workflow would only invite drift, since renovate updates `Chart.yaml`
alone. All three dependencies are pinned to exact versions, so the resolution result is identical to `Chart.lock`.

This corrects 0102563, which introduced the `dependency build` step.

Co-authored-by: Copilot <copilot@github.com>
2026-09-14 20:38:05 +02:00
volker.raschekandCopilot 70a033d519 chore(make): add a clean target
Helm / helm-lint (push) Failing after 12s
changelog / changelog (push) Successful in 16s
Helm / helm-unittest (push) Failing after 22s
Removes the artifacts that are produced by the other targets and ignored by git, so a broken state can be reset without
remembering which directories are generated. `helm dependency build` populates `charts`, the readme generator installs
`node_modules` and packaging leaves the chart archive and its signature behind.

Co-authored-by: Copilot <copilot@github.com>
2026-09-14 20:33:19 +02:00
volker.raschekandCopilot 010256397a fix(ci): build the helm dependencies before linting and testing
The `charts` directory is ignored by git, so a fresh checkout does not contain the postgresql, postgresql-ha and valkey
sub-charts. Locally the workflow appeared to work because `make helm/dependency-update` had populated the directory at
some earlier point.

Without the sub-charts every suite that asserts on a dependency template failed with "document index 0 is out of range"
and "template gitea/charts/postgresql/templates/primary/svc.yaml not exists or not selected in test suite". `helm lint`
was affected for the same reason.

`helm dependency build` is used instead of `helm dependency update`, because `Chart.lock` is committed and the pinned
versions should be resolved reproducibly rather than refreshed on every run.

Co-authored-by: Copilot <copilot@github.com>
2026-09-14 20:32:37 +02:00
volker.raschekandCopilot 552fe8c56e refactor(templates): move the templates out of the gitea subdirectory
Helm / helm-lint (push) Successful in 9s
changelog / changelog (push) Successful in 29s
Helm / helm-unittest (push) Failing after 21s
Markdown linter / markdown-lint (push) Successful in 17s
Markdown linter / markdown-link-checker (push) Successful in 56s
The `templates/gitea` subdirectory did not group anything meaningful, since every template of this chart belongs to
Gitea. It only duplicated the chart name in every path and forced the unit tests to spell out
`templates/gitea/<name>.yaml`, while `_helpers.tpl` and `NOTES.txt` already lived directly in `templates`.

All templates now live in `templates`, which matches the layout of the bundled sub-charts and the Helm defaults.

The checksum helper in `templates/_secrets.tpl` built its include path from `$root.Template.BasePath` and therefore
carried the subdirectory in a `printf` format string instead of a literal path. Without adjusting it the chart failed to
render with "no template gitea/templates/gitea/secret_config.yaml associated with template gotpl".

Co-authored-by: Copilot <copilot@github.com>
2026-09-14 20:28:17 +02:00
volker.raschekandCopilot 0a237ba2c1 refactor(serviceAccount)!: group the values into existingServiceAccount and new
Helm / helm-lint (push) Successful in 13s
changelog / changelog (push) Successful in 20s
Helm / helm-unittest (push) Failing after 40s
Markdown linter / markdown-link-checker (push) Successful in 38s
Markdown linter / markdown-lint (push) Successful in 32s
The previous notation mixed two concerns in a single flat dict: `create`/`name` decided whether the chart manages the
ServiceAccount or only references an externally provided one, while the remaining keys only ever applied to a
chart-managed ServiceAccount. That made `name` ambiguous, because it either renamed the generated object or pointed to a
foreign one, and it forced the deployment to guard the reference with `or .Values.serviceAccount.create
.Values.serviceAccount.name`.

The values are now grouped the same way as `persistence`, which was restructured in dfe087c. `serviceAccount.enabled`
controls whether the pod uses a ServiceAccount at all, `serviceAccount.existingServiceAccount` references an externally
managed object and `serviceAccount.new` holds the properties of the object created by the chart. The templates follow
the established helper layout in `templates/gitea/_serviceAccounts.tpl`.

Two latent bugs are fixed along the way. The annotation helper was defined as `gitea.secret.admin.annotations`, so the
`gitea.serviceAccount.annotations` include in the template never resolved. And the duplicated name helper
`gitea.serviceAccountName` in `templates/_helpers.tpl` is removed in favour of `gitea.serviceAccount.name`.

BREAKING CHANGE:
- `serviceAccount.create` does no longer exist. Use `serviceAccount.enabled` instead. The default changed from `false`
  to `true`, so a ServiceAccount is now created unless it is explicitly disabled.
- `serviceAccount.name` does no longer exist. Use `serviceAccount.existingServiceAccount.enabled` together with
  `serviceAccount.existingServiceAccount.existingServiceAccountName` to reference an externally managed ServiceAccount.
- `serviceAccount.annotations`, `serviceAccount.labels`, `serviceAccount.automountServiceAccountToken` and
  `serviceAccount.imagePullSecrets` moved below `serviceAccount.new`.

Co-authored-by: Copilot <copilot@github.com>
2026-09-14 19:15:58 +02:00
volker.raschekandCopilot dfe087c0c1 refactor(persistence)!: group the values into existingPersistentVolumeClaim and new
Helm / helm-lint (push) Successful in 13s
changelog / changelog (push) Successful in 22s
Helm / helm-unittest (push) Failing after 45s
Markdown linter / markdown-link-checker (push) Successful in 44s
Markdown linter / markdown-lint (push) Successful in 36s
The flat `persistence` dict mixed three concerns: whether persistence is used at all, whether the chart creates the
PersistentVolumeClaim, and how that claim is shaped. The pairs `create`/`claimName` and `enabled`/`mount` were only
meaningful in certain combinations, so an invalid configuration such as `create=true` together with a foreign
`claimName` was silently accepted. The same split into an `existingX`/`new` pair is already used for the Secrets, so
this aligns persistence with the rest of the chart.

`persistence.enabled` now only decides whether a volume is used at all. `persistence.existingPersistentVolumeClaim`
points at a claim managed outside of the chart, and everything under `persistence.new` describes the claim the chart
creates itself. Rendering and naming move into `templates/gitea/_persistentVolumeClaims.tpl` so the Deployment and the
PersistentVolumeClaim derive the claim name from a single helper instead of repeating the value lookups.

Support for `global.storageClass` is dropped. It was a chart-wide override that silently applied to the Gitea claim and
was evaluated through `tpl`, which made the effective storage class hard to predict. The storage class is now set
explicitly via `persistence.new.storageClassName`, which also matches the field name in the PersistentVolumeClaim spec.

BREAKING CHANGE: The `persistence` values were restructured and `global.storageClass` was removed.

- `persistence.create` and `persistence.mount` are gone. Set `persistence.enabled` to use a volume and
  `persistence.existingPersistentVolumeClaim.enabled` to reuse a claim that is not managed by the chart.
- `persistence.claimName` moves to `persistence.existingPersistentVolumeClaim.persistentVolumeClaimName`. A claim
  created by the chart is now named after `gitea.fullname` instead of the default `gitea-shared-storage`.
- `persistence.accessModes`, `annotations`, `labels`, `size` and `subPath` move into `persistence.new`.
- `persistence.volumeName` becomes `persistence.new.persistentVolumeName`.
- `persistence.storageClass` and `global.storageClass` become `persistence.new.storageClassName`.
- `persistence.enabled` now defaults to `false`.

Co-authored-by: Copilot <copilot@github.com>
2026-09-14 15:38:06 +02:00
volker.raschekandCopilot 761921faed test(ingress): align assertions with the release name and namespace
The suite header was changed to the release `gitea-unittests` in the namespace `testing`, but the assertions still
expected the previous `gitea-unittest` and `gitea-debug`. That made four cases fail on the rendered resource name, the
`app.kubernetes.io/instance` label and the backend Service name.

Renovate comments had additionally been copied into the expected `app.kubernetes.io/version` and `version` label values.
They only matched by accident, because YAML strips the trailing comment from an unquoted scalar. Removing them keeps the
assertions honest about what is actually compared.

Co-authored-by: Copilot <copilot@github.com>
2026-09-14 15:24:55 +02:00
98 changed files with 843 additions and 794 deletions
+23
View File
@@ -0,0 +1,23 @@
name: Bash
on:
pull_request:
types: [ "opened", "reopened", "synchronize" ]
push:
branches:
- '**'
tags-ignore:
- '**'
workflow_dispatch: {}
jobs:
bash-unittest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
with:
submodules: true
- env:
TERM: xterm
name: Run bash unittests
run: make bash/unittest
+4
View File
@@ -18,6 +18,8 @@ jobs:
- uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1 - uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1
with: with:
version: v4.3.0 # renovate: datasource=github-releases depName=helm/helm version: v4.3.0 # renovate: datasource=github-releases depName=helm/helm
- name: Update helm dependencies
run: helm dependency update
- name: Lint helm files - name: Lint helm files
run: | run: |
helm lint --values values.yaml . helm lint --values values.yaml .
@@ -33,5 +35,7 @@ jobs:
HELM_UNITTEST_VERSION: v1.0.0 #renovate: datasource=github-releases depName=helm-unittest/helm-unittest HELM_UNITTEST_VERSION: v1.0.0 #renovate: datasource=github-releases depName=helm-unittest/helm-unittest
name: Install helm-unittest name: Install helm-unittest
run: helm plugin install --verify=false --version "${HELM_UNITTEST_VERSION}" https://github.com/helm-unittest/helm-unittest run: helm plugin install --verify=false --version "${HELM_UNITTEST_VERSION}" https://github.com/helm-unittest/helm-unittest
- name: Update helm dependencies
run: helm dependency update
- name: Execute helm unittests - name: Execute helm unittests
run: helm unittest --strict --file 'unittests/**/*.yaml' . run: helm unittest --strict --file 'unittests/**/*.yaml' .
+1 -1
View File
@@ -34,7 +34,7 @@ image:
### Templates ### Templates
- Helm templates live in `templates/gitea/`. Helpers live in `templates/_helpers.tpl`. - Helm templates live in `templates/`. Helpers live in `templates/_helpers.tpl`.
- Use camelCase for all files and variables (e.g `httpRoute`, `backendTLSPolicy`, `gatewayAPI`, `statefulSet`). - Use camelCase for all files and variables (e.g `httpRoute`, `backendTLSPolicy`, `gatewayAPI`, `statefulSet`).
- Use `include "gitea.fullname"` for naming resources. - Use `include "gitea.fullname"` for naming resources.
- Use `fail` for required-value validation with clear error messages referencing the full values path. - Use `fail` for required-value validation with clear error messages referencing the full values path.
+1 -1
View File
@@ -36,6 +36,6 @@ unittests/
.prettierignore .prettierignore
.yamllint .yamllint
CODEOWNERS CODEOWNERS
renovate.json5 renovate.json
.commitlintrc.json .commitlintrc.json
.gitsv/ .gitsv/
+1 -2
View File
@@ -4,8 +4,7 @@
"/unittests/**/*.yaml" "/unittests/**/*.yaml"
], ],
"https://docs.renovatebot.com/renovate-schema.json":[ "https://docs.renovatebot.com/renovate-schema.json":[
"renovate.json", "renovate.json"
"renovate.json5"
] ]
}, },
"yaml.schemaStore.enable": true, "yaml.schemaStore.enable": true,
+13
View File
@@ -1,5 +1,11 @@
SHELL := /usr/bin/env bash -O globstar SHELL := /usr/bin/env bash -O globstar
# CLEAN
# ==============================================================================
PHONY+=clean
clean:
-rm -rf charts *.tar.gz *.tar.gz.sig node_modules
# MISSING DOT # MISSING DOT
# ============================================================================== # ==============================================================================
PHONY+=missing-dot PHONY+=missing-dot
@@ -35,6 +41,13 @@ PHONY+=helm/unittest
helm/unittest: helm/unittest:
helm unittest --strict --file 'unittests/helm/**/*.yaml' --file 'unittests/helm/values-conflicting-checks.yaml' ./ helm unittest --strict --file 'unittests/helm/**/*.yaml' --file 'unittests/helm/values-conflicting-checks.yaml' ./
# BASH PREPARE
# ==============================================================================
PHONY+=bash/prepare
bash/prepare:
git submodule init
git submodule update
# BASH UNITTESTS # BASH UNITTESTS
# ============================================================================== # ==============================================================================
PHONY+=bash/unittest PHONY+=bash/unittest
+21 -22
View File
@@ -267,7 +267,7 @@ If `.Values.deployment.gitea.image.rootless: true`, then the following will occu
- `$HOME` becomes `/data/gitea/git` - `$HOME` becomes `/data/gitea/git`
[see deployment.yaml](./templates/gitea/deployment.yaml) template inside (init-)container "env" declarations [see deployment.yaml](./templates/deployment.yaml) template inside (init-)container "env" declarations
- `START_SSH_SERVER: true` (Unless explicity overwritten by `gitea.config.server.START_SSH_SERVER`) - `START_SSH_SERVER: true` (Unless explicity overwritten by `gitea.config.server.START_SSH_SERVER`)
@@ -279,7 +279,7 @@ If `.Values.deployment.gitea.image.rootless: true`, then the following will occu
- `SSH_LOG_LEVEL` environment variable is not injected into the container - `SSH_LOG_LEVEL` environment variable is not injected into the container
[see deployment.yaml](./templates/gitea/deployment.yaml) template inside container "env" declarations [see deployment.yaml](./templates/deployment.yaml) template inside container "env" declarations
#### OpenShift Compatibility #### OpenShift Compatibility
@@ -1023,7 +1023,6 @@ To comply with the Gitea helm chart definition of the digest parameter, a "custo
| ------------------------- | -------------------------------------------------------------------------- | ----- | | ------------------------- | -------------------------------------------------------------------------- | ----- |
| `global.imageRegistry` | global image registry override. | `""` | | `global.imageRegistry` | global image registry override. | `""` |
| `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.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. | `[]` |
### deployment ### deployment
@@ -1277,29 +1276,29 @@ To comply with the Gitea helm chart definition of the digest parameter, a "custo
### ServiceAccount ### ServiceAccount
| Name | Description | Value | | Name | Description | Value |
| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------- | | ------------------------------------------------------------------ | ---------------------------------------------------------- | ------- |
| `serviceAccount.create` | Enable the creation of a ServiceAccount. | `false` | | `serviceAccount.enabled` | Assign the pod to use the ServiceAccount. | `true` |
| `serviceAccount.name` | Name of the created ServiceAccount, defaults to release name. Can also link to an externally provided ServiceAccount that should be used. | `""` | | `serviceAccount.existingServiceAccount.enabled` | Enable using an existing ServiceAccount. | `false` |
| `serviceAccount.automountServiceAccountToken` | Enable/disable auto mounting of the service account token. | `false` | | `serviceAccount.existingServiceAccount.existingServiceAccountName` | Name of the existing ServiceAccount to use. | `""` |
| `serviceAccount.imagePullSecrets` | Image pull secrets, available to the ServiceAccount. | `[]` | | `serviceAccount.new.annotations` | Custom annotations for the ServiceAccount. | `{}` |
| `serviceAccount.annotations` | Custom annotations for the ServiceAccount. | `{}` | | `serviceAccount.new.labels` | Custom labels for the ServiceAccount. | `{}` |
| `serviceAccount.labels` | Custom labels for the ServiceAccount. | `{}` | | `serviceAccount.new.automountServiceAccountToken` | Enable/disable auto mounting of the service account token. | `false` |
| `serviceAccount.new.imagePullSecrets` | Image pull secrets, available to the ServiceAccount. | `[]` |
### Persistence ### Persistence
| Name | Description | Value | | Name | Description | Value |
| ------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ---------------------- | | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ------------------- |
| `persistence.enabled` | Enable persistent storage. | `true` | | `persistence.enabled` | Enable persistent storage. | `false` |
| `persistence.create` | Whether to create the persistentVolumeClaim for shared storage. | `true` | | `persistence.existingPersistentVolumeClaim.enabled` | Enable using an existing persistent volume claim. | `false` |
| `persistence.mount` | Whether the persistentVolumeClaim should be mounted (even if not created). | `true` | | `persistence.existingPersistentVolumeClaim.persistentVolumeClaimName` | Name of the existing persistent volume claim to use. | `""` |
| `persistence.claimName` | Use an existing claim to store repository information. | `gitea-shared-storage` | | `persistence.new.annotations.helm.sh/resource-policy` | Resource policy for the new persistent volume claim. | `keep` |
| `persistence.size` | Size for persistence to store repo information. | `10Gi` | | `persistence.new.labels` | Labels for the new persistent volume claim. | `{}` |
| `persistence.accessModes` | AccessMode for persistence. | `["ReadWriteOnce"]` | | `persistence.new.accessModes` | AccessMode for the new persistent volume claim. | `["ReadWriteOnce"]` |
| `persistence.labels` | Labels for the persistence volume claim to be created. | `{}` | | `persistence.new.persistentVolumeName` | Name of the persistent volume for the new persistent volume claim. | `""` |
| `persistence.annotations.helm.sh/resource-policy` | Resource policy for the persistence volume claim. | `keep` | | `persistence.new.size` | Size for the new persistent volume claim. | `10Gi` |
| `persistence.storageClass` | Name of the storage class to use. | `nil` | | `persistence.new.storageClassName` | Name of the storage class to use for the new persistent volume claim. | `""` |
| `persistence.subPath` | Subdirectory of the volume to mount at. | `nil` | | `persistence.new.subPath` | Subdirectory of the volume to mount at for the new persistent volume claim. | `""` |
| `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. | `[]` |
| `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. | `[]` |
| `extraVolumeMounts` | **DEPRECATED** Additional volume mounts for init containers and the Gitea main container. | `[]` | | `extraVolumeMounts` | **DEPRECATED** Additional volume mounts for init containers and the Gitea main container. | `[]` |
+136
View File
@@ -0,0 +1,136 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"gitea>gitea/renovate-config",
"helpers:pinGitHubActionDigests",
":automergeMinor",
"schedule:automergeDaily",
"schedule:weekends"
],
"labels": [
"kind/dependency"
],
"digest": {
"automerge": true
},
"automergeStrategy": "squash",
"git-submodules": {
"enabled": true
},
"customManagers": [
{
"description": "Gitea-version of https://docs.renovatebot.com/presets-regexManagers/#regexmanagersgithubactionsversions",
"customType": "regex",
"managerFilePatterns": [
"/.gitea/workflows/.+\\.ya?ml$/"
],
"matchStrings": [
"# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[a-z-0-9]+?))?\\s+[A-Za-z0-9_]+?_VERSION\\s*:\\s*[\"']?(?<currentValue>.+?)[\"']?\\s"
]
},
{
"description": "Detect helm-unittest yaml schema file",
"customType": "regex",
"managerFilePatterns": [
"/.vscode/settings\\.json$/"
],
"matchStrings": [
"https:\\/\\/raw\\.githubusercontent\\.com\\/(?<depName>[^\\s]+?)\\/(?<currentValue>v[0-9.]+?)\\/schema\\/helm-testsuite\\.json"
],
"datasourceTemplate": "github-releases"
},
{
"description": "Automatically detect new Gitea releases",
"customType": "regex",
"datasourceTemplate": "github-releases",
"depNameTemplate": "gitea/gitea",
"extractVersionTemplate": "^v(?<version>.*)$",
"managerFilePatterns": [
"/(^|/)Chart\\.ya?ml$/"
],
"matchStrings": [
"^appVersion:\\s+[\"']?(?<currentVersion>\\S+)[\"']?$"
]
}
],
"lockFileMaintenance": {
"enabled": true,
"commitMessageAction": "update",
"commitMessageTopic": "lockfiles",
"schedule": [
"at any time"
]
},
"packageRules": [
{
"groupName": "subcharts (minor & patch)",
"matchManagers": [
"helmv3"
],
"matchUpdateTypes": [
"minor",
"patch",
"digest"
]
},
{
"groupName": "bats testing framework",
"matchManagers": [
"git-submodules"
],
"matchUpdateTypes": [
"minor",
"patch",
"digest"
]
},
{
"groupName": "workflow dependencies (minor & patch)",
"matchManagers": [
"github-actions",
"npm",
"custom.regex"
],
"matchUpdateTypes": [
"minor",
"patch",
"digest"
],
"matchFileNames": [
"!Chart.yaml"
]
},
{
"description": "Update README.md on changes in values.yaml",
"matchManagers": [
"helm-values"
],
"postUpgradeTasks": {
"commands": [
"install-tool node",
"make readme"
],
"fileFilters": [
"README.md"
],
"executionMode": "update"
}
},
{
"description": "Override changelog url for Helm image, to have release notes in our PRs",
"matchDepNames": [
"alpine/helm"
],
"changelogUrl": "https://github.com/helm/helm"
},
{
"description": "Bump Gitea as fast as possible - not only on weekends",
"matchDepNames": [
"go-gitea/gitea"
],
"schedule": [
"at any time"
]
}
]
}
-136
View File
@@ -1,136 +0,0 @@
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: [
"gitea>gitea/renovate-config",
"helpers:pinGitHubActionDigests",
":automergeMinor",
"schedule:automergeDaily",
"schedule:weekends",
],
labels: [
"kind/dependency",
],
digest: {
automerge: true,
},
automergeStrategy: "squash",
"git-submodules": {
enabled: true,
},
customManagers: [
{
description: "Gitea-version of https://docs.renovatebot.com/presets-regexManagers/#regexmanagersgithubactionsversions",
customType: "regex",
managerFilePatterns: [
"/.gitea/workflows/.+\\.ya?ml$/",
],
matchStrings: [
"# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[a-z-0-9]+?))?\\s+[A-Za-z0-9_]+?_VERSION\\s*:\\s*[\"']?(?<currentValue>.+?)[\"']?\\s",
],
},
{
description: "Detect helm-unittest yaml schema file",
customType: "regex",
managerFilePatterns: [
"/.vscode/settings\\.json$/",
],
matchStrings: [
"https:\\/\\/raw\\.githubusercontent\\.com\\/(?<depName>[^\\s]+?)\\/(?<currentValue>v[0-9.]+?)\\/schema\\/helm-testsuite\\.json",
],
datasourceTemplate: "github-releases",
},
{
description: "Automatically detect new Gitea releases",
customType: "regex",
datasourceTemplate: "github-releases",
depNameTemplate: "gitea/gitea",
extractVersionTemplate: "^v(?<version>.*)$",
managerFilePatterns: [
"/(^|/)Chart\\.ya?ml$/",
],
matchStrings: [
"^appVersion:\\s+[\"']?(?<currentVersion>\\S+)[\"']?$",
],
},
],
lockFileMaintenance: {
"enabled": true,
"commitMessageAction": "update",
"commitMessageTopic": "lockfiles",
schedule: [
"at any time",
]
},
packageRules: [
{
groupName: "subcharts (minor & patch)",
matchManagers: [
"helmv3",
],
matchUpdateTypes: [
"minor",
"patch",
"digest",
],
},
{
groupName: "bats testing framework",
matchManagers: [
"git-submodules",
],
matchUpdateTypes: [
"minor",
"patch",
"digest",
],
},
{
groupName: "workflow dependencies (minor & patch)",
matchManagers: [
"github-actions",
"npm",
"custom.regex",
],
matchUpdateTypes: [
"minor",
"patch",
"digest",
],
matchFileNames: [
"!Chart.yaml",
],
},
{
description: "Update README.md on changes in values.yaml",
matchManagers: [
"helm-values",
],
postUpgradeTasks: {
commands: [
"install-tool node",
"make readme",
],
fileFilters: [
"README.md",
],
executionMode: "update",
},
},
{
description: "Override changelog url for Helm image, to have release notes in our PRs",
matchDepNames: [
"alpine/helm",
],
changelogUrl: "https://github.com/helm/helm",
},
{
description: "Bump Gitea as fast as possible - not only on weekends",
matchDepNames: [
"go-gitea/gitea",
],
schedule: [
"at any time",
],
},
],
}
-15
View File
@@ -154,17 +154,6 @@ These default to runAsUser 1000 outside OpenShift to preserve existing behavior.
{{- include "gitea.containerSecurityContext" (list $root $containerSecurityContext) -}} {{- include "gitea.containerSecurityContext" (list $root $containerSecurityContext) -}}
{{- end -}} {{- end -}}
{{/*
Storage Class
*/}}
{{- define "gitea.persistence.storageClass" -}}
{{- $storageClass := (tpl ( default "" .Values.persistence.storageClass) .) | default (tpl ( default "" .Values.global.storageClass) .) }}
{{- if $storageClass }}
storageClassName: {{ $storageClass | quote }}
{{- end }}
{{- end -}}
{{/* {{/*
Common labels Common labels
*/}} */}}
@@ -504,10 +493,6 @@ https
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{- define "gitea.serviceAccountName" -}}
{{ .Values.serviceAccount.name | default (include "gitea.fullname" .) }}
{{- end -}}
{{- define "ingress.annotations" -}} {{- define "ingress.annotations" -}}
{{- if .Values.ingress.annotations }} {{- if .Values.ingress.annotations }}
annotations: annotations:
@@ -40,8 +40,8 @@
mountPath: /tmp mountPath: /tmp
- name: data - name: data
mountPath: /data mountPath: /data
{{- if .Values.persistence.subPath }} {{- if .Values.persistence.new.subPath }}
subPath: {{ .Values.persistence.subPath }} subPath: {{ .Values.persistence.new.subPath }}
{{- end }} {{- end }}
{{- include "gitea.init-additional-mounts" . | nindent 4 }} {{- include "gitea.init-additional-mounts" . | nindent 4 }}
{{- with $config.volumeMounts }} {{- with $config.volumeMounts }}
@@ -105,8 +105,8 @@
mountPath: /tmp mountPath: /tmp
- name: data - name: data
mountPath: /data mountPath: /data
{{- if .Values.persistence.subPath }} {{- if .Values.persistence.new.subPath }}
subPath: {{ .Values.persistence.subPath }} subPath: {{ .Values.persistence.new.subPath }}
{{- end }} {{- end }}
- name: inline-config-sources - name: inline-config-sources
mountPath: /env-to-ini-mounts/inlines/ mountPath: /env-to-ini-mounts/inlines/
@@ -168,8 +168,8 @@
mountPath: {{ .Values.initContainersScriptsVolumeMountPath }} mountPath: {{ .Values.initContainersScriptsVolumeMountPath }}
- name: data - name: data
mountPath: /data mountPath: /data
{{- if .Values.persistence.subPath }} {{- if .Values.persistence.new.subPath }}
subPath: {{ .Values.persistence.subPath }} subPath: {{ .Values.persistence.new.subPath }}
{{- end }} {{- end }}
- name: gpg-private-key - name: gpg-private-key
mountPath: /raw mountPath: /raw
@@ -292,8 +292,8 @@
mountPath: /tmp mountPath: /tmp
- name: data - name: data
mountPath: /data mountPath: /data
{{- if .Values.persistence.subPath }} {{- if .Values.persistence.new.subPath }}
subPath: {{ .Values.persistence.subPath }} subPath: {{ .Values.persistence.new.subPath }}
{{- end }} {{- end }}
{{- include "gitea.init-additional-mounts" . | nindent 4 }} {{- include "gitea.init-additional-mounts" . | nindent 4 }}
{{- with $config.volumeMounts }} {{- with $config.volumeMounts }}
+38
View File
@@ -0,0 +1,38 @@
{{/* vim: set filetype=mustache: */}}
{{/* annotations */}}
{{- define "gitea.persistentVolumeClaim.annotations" -}}
{{- with .Values.persistence.new.annotations }}
{{- toYaml . -}}
{{- end }}
{{- end }}
{{/* enabled */}}
{{- define "gitea.persistentVolumeClaim.enabled" -}}
{{- if and .Values.persistence.enabled (not .Values.persistence.existingPersistentVolumeClaim.enabled) -}}
true
{{- else -}}
false
{{- end }}
{{- end }}
{{/* labels */}}
{{- define "gitea.persistentVolumeClaim.labels" -}}
{{ include "gitea.labels" . }}
{{- with .Values.persistence.new.labels }}
{{ toYaml . }}
{{- end }}
{{- end }}
{{/* name */}}
{{- define "gitea.persistentVolumeClaim.name" -}}
{{- if .Values.persistence.existingPersistentVolumeClaim.enabled -}}
{{ required "persistence.existingPersistentVolumeClaim.persistentVolumeClaimName is required when persistence.existingPersistentVolumeClaim.enabled is true" .Values.persistence.existingPersistentVolumeClaim.persistentVolumeClaimName }}
{{- else -}}
{{ include "gitea.fullname" . }}
{{- end }}
{{- end }}
@@ -54,7 +54,7 @@ Arguments: (list $root $key)
{{- $name := include (printf "gitea.secret.%s.name" $key) $root -}} {{- $name := include (printf "gitea.secret.%s.name" $key) $root -}}
{{- lookup "v1" "Secret" $namespace $name | toYaml | sha256sum -}} {{- lookup "v1" "Secret" $namespace $name | toYaml | sha256sum -}}
{{- else -}} {{- else -}}
{{- include (printf "%s/gitea/secret_%s.yaml" $root.Template.BasePath $key) $root | sha256sum -}} {{- include (printf "%s/secret_%s.yaml" $root.Template.BasePath $key) $root | sha256sum -}}
{{- end -}} {{- end -}}
{{- end }} {{- end }}
+38
View File
@@ -0,0 +1,38 @@
{{/* vim: set filetype=mustache: */}}
{{/* annotations */}}
{{- define "gitea.serviceAccount.annotations" -}}
{{- with .Values.serviceAccount.new.annotations }}
{{- toYaml . -}}
{{- end }}
{{- end }}
{{/* enabled */}}
{{- define "gitea.serviceAccount.enabled" -}}
{{- if and .Values.serviceAccount.enabled (not .Values.serviceAccount.existingServiceAccount.enabled) -}}
true
{{- else -}}
false
{{- end }}
{{- end }}
{{/* labels */}}
{{- define "gitea.serviceAccount.labels" -}}
{{ include "gitea.labels" . }}
{{- with .Values.serviceAccount.new.labels }}
{{ toYaml . }}
{{- end }}
{{- end }}
{{/* name */}}
{{- define "gitea.serviceAccount.name" -}}
{{- if .Values.serviceAccount.existingServiceAccount.enabled -}}
{{ required "serviceAccount.existingServiceAccount.existingServiceAccountName is required when serviceAccount.existingServiceAccount.enabled is true" .Values.serviceAccount.existingServiceAccount.existingServiceAccountName }}
{{- else -}}
{{ include "gitea.fullname" . }}
{{- end }}
{{- end }}
@@ -42,8 +42,8 @@ spec:
{{- if .Values.deployment.schedulerName }} {{- if .Values.deployment.schedulerName }}
schedulerName: "{{ .Values.deployment.schedulerName }}" schedulerName: "{{ .Values.deployment.schedulerName }}"
{{- end }} {{- end }}
{{- if (or .Values.serviceAccount.create .Values.serviceAccount.name) }} {{- if .Values.serviceAccount.enabled }}
serviceAccountName: {{ include "gitea.serviceAccountName" . }} serviceAccountName: {{ include "gitea.serviceAccount.name" . }}
{{- end }} {{- end }}
{{- if .Values.deployment.priorityClassName }} {{- if .Values.deployment.priorityClassName }}
priorityClassName: "{{ .Values.deployment.priorityClassName }}" priorityClassName: "{{ .Values.deployment.priorityClassName }}"
@@ -145,8 +145,8 @@ spec:
mountPath: /tmp mountPath: /tmp
- name: data - name: data
mountPath: /data mountPath: /data
{{- if .Values.persistence.subPath }} {{- if .Values.persistence.new.subPath }}
subPath: {{ .Values.persistence.subPath }} subPath: {{ .Values.persistence.new.subPath }}
{{- end }} {{- end }}
{{- include "gitea.container-additional-mounts" . | nindent 12 }} {{- include "gitea.container-additional-mounts" . | nindent 12 }}
{{- if .Values.extraContainers }} {{- if .Values.extraContainers }}
@@ -211,12 +211,10 @@ spec:
defaultMode: 0100 defaultMode: 0100
{{- end }} {{- end }}
{{- if .Values.persistence.enabled }} {{- if .Values.persistence.enabled }}
{{- if .Values.persistence.mount }}
- name: data - name: data
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ .Values.persistence.claimName }} claimName: {{ include "gitea.persistentVolumeClaim.name" . }}
{{- end }} {{- else }}
{{- else if not .Values.persistence.enabled }}
- name: data - name: data
emptyDir: {} emptyDir: {}
{{- end }} {{- end }}
@@ -1,26 +0,0 @@
{{- if and .Values.persistence.enabled .Values.persistence.create }}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ .Values.persistence.claimName }}
namespace: {{ .Values.namespace | default .Release.Namespace }}
annotations:
{{ .Values.persistence.annotations | toYaml | indent 4}}
labels:
{{ .Values.persistence.labels | toYaml | indent 4}}
spec:
accessModes:
{{- if gt (.Values.deployment.replicas | int) 1 }}
- ReadWriteMany
{{- else }}
{{- .Values.persistence.accessModes | toYaml | nindent 4 }}
{{- end }}
volumeMode: Filesystem
{{- include "gitea.persistence.storageClass" . | nindent 2 }}
{{- with .Values.persistence.volumeName }}
volumeName: {{ . }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.size }}
{{- end }}
-21
View File
@@ -1,21 +0,0 @@
{{- if .Values.serviceAccount.create }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "gitea.serviceAccountName" . }}
namespace: {{ .Values.namespace | default .Release.Namespace }}
labels:
{{- include "gitea.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.labels }}
{{- . | toYaml | nindent 4 }}
{{- end }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- . | toYaml | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
{{- with .Values.serviceAccount.imagePullSecrets }}
imagePullSecrets:
{{- . | toYaml | nindent 2 }}
{{- end }}
{{- end }}
+33
View File
@@ -0,0 +1,33 @@
{{- if eq (include "gitea.persistentVolumeClaim.enabled" .) "true" }}
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
{{- with (include "gitea.persistentVolumeClaim.annotations" .) }}
annotations:
{{- . | nindent 4 }}
{{- end }}
{{- with (include "gitea.persistentVolumeClaim.labels" .) }}
labels:
{{- . | nindent 4 }}
{{- end }}
name: {{ include "gitea.persistentVolumeClaim.name" . }}
namespace: {{ .Release.Namespace }}
spec:
accessModes:
{{- if gt (.Values.deployment.replicas | int) 1 }}
- ReadWriteMany
{{- else }}
{{- .Values.persistence.new.accessModes | toYaml | nindent 4 }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.new.size }}
{{- with .Values.persistence.new.storageClassName }}
storageClassName: {{ . }}
{{- end }}
volumeMode: Filesystem
{{- with .Values.persistence.new.persistentVolumeName }}
volumeName: {{ . }}
{{- end }}
{{- end }}
@@ -37,8 +37,8 @@ stringData:
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- if eq (first .Values.persistence.accessModes) "ReadWriteOnce" -}} {{- if eq (first .Values.persistence.new.accessModes) "ReadWriteOnce" -}}
{{- fail "When using multiple replicas, a RWX file system is required and persistence.accessModes[0] must be set to ReadWriteMany." -}} {{- fail "When using multiple replicas, a RWX file system is required and persistence.new.accessModes[0] must be set to ReadWriteMany." -}}
{{- end }} {{- end }}
{{- if .Values.gitea.config.indexer -}} {{- if .Values.gitea.config.indexer -}}
{{- if eq .Values.gitea.config.indexer.ISSUE_INDEXER_TYPE "bleve" -}} {{- if eq .Values.gitea.config.indexer.ISSUE_INDEXER_TYPE "bleve" -}}
+21
View File
@@ -0,0 +1,21 @@
{{- if eq (include "gitea.serviceAccount.enabled" .) "true" }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
{{- with (include "gitea.serviceAccount.annotations" .) }}
annotations:
{{- . | nindent 4 }}
{{- end }}
{{- with (include "gitea.serviceAccount.labels" .) }}
labels:
{{- . | nindent 4 }}
{{- end }}
name: {{ include "gitea.serviceAccount.name" . }}
namespace: {{ .Values.namespace | default .Release.Namespace }}
automountServiceAccountToken: {{ .Values.serviceAccount.new.automountServiceAccountToken }}
{{- with .Values.serviceAccount.new.imagePullSecrets }}
imagePullSecrets:
{{- . | toYaml | nindent 2 }}
{{- end }}
{{- end }}
+1 -1
View File
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
tests: tests:
- it: skips rendering when the admin user is disabled - it: skips rendering when the admin user is disabled
set: set:
+3 -3
View File
@@ -3,17 +3,17 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
tests: tests:
- it: "actions are enabled by default (based on vanilla Gitea behavior)" - it: "actions are enabled by default (based on vanilla Gitea behavior)"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
asserts: asserts:
- documentIndex: 0 - documentIndex: 0
notExists: notExists:
path: stringData.actions path: stringData.actions
- it: "actions can be disabled via inline config" - it: "actions can be disabled via inline config"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
gitea.config.actions.ENABLED: false gitea.config.actions.ENABLED: false
asserts: asserts:
+3 -3
View File
@@ -4,7 +4,7 @@ release:
namespace: testing namespace: testing
tests: tests:
- it: "cache is configured correctly for valkey" - it: "cache is configured correctly for valkey"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
valkey: valkey:
enabled: true enabled: true
@@ -17,7 +17,7 @@ tests:
HOST=redis://:changeme@gitea-unittests-valkey.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s& HOST=redis://:changeme@gitea-unittests-valkey.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s&
- it: "cache is configured correctly for 'memory' when valkey is disabled" - it: "cache is configured correctly for 'memory' when valkey is disabled"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
valkey: valkey:
enabled: false enabled: false
@@ -30,7 +30,7 @@ tests:
HOST= HOST=
- it: "cache can be customized when valkey is disabled" - it: "cache can be customized when valkey is disabled"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
valkey: valkey:
enabled: false enabled: false
@@ -3,11 +3,11 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
tests: tests:
- it: uses `gitea config edit-ini` to write app.ini from environment variables - it: uses `gitea config edit-ini` to write app.ini from environment variables
template: templates/gitea/secret_config.yaml template: templates/secret_config.yaml
asserts: asserts:
- documentIndex: 0 - documentIndex: 0
matchRegex: matchRegex:
@@ -4,7 +4,7 @@ release:
namespace: testing namespace: testing
tests: tests:
- it: metrics token is set - it: metrics token is set
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
gitea: gitea:
metrics: metrics:
@@ -18,7 +18,7 @@ tests:
ENABLED=true ENABLED=true
TOKEN=somepassword TOKEN=somepassword
- it: metrics token is empty - it: metrics token is empty
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
gitea: gitea:
metrics: metrics:
@@ -31,7 +31,7 @@ tests:
value: |- value: |-
ENABLED=true ENABLED=true
- it: metrics token is nil - it: metrics token is nil
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
gitea: gitea:
metrics: metrics:
@@ -44,7 +44,7 @@ tests:
value: |- value: |-
ENABLED=true ENABLED=true
- it: does not configures a token if metrics are disabled - it: does not configures a token if metrics are disabled
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
gitea: gitea:
metrics: metrics:
+3 -3
View File
@@ -4,7 +4,7 @@ release:
namespace: testing namespace: testing
tests: tests:
- it: "queue is configured correctly for valkey" - it: "queue is configured correctly for valkey"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
valkey: valkey:
enabled: true enabled: true
@@ -17,7 +17,7 @@ tests:
TYPE=redis TYPE=redis
- it: "queue is configured correctly for 'levelDB' when valkey is disabled" - it: "queue is configured correctly for 'levelDB' when valkey is disabled"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
valkey: valkey:
enabled: false enabled: false
@@ -30,7 +30,7 @@ tests:
TYPE=level TYPE=level
- it: "queue can be customized when valkey is disabled" - it: "queue can be customized when valkey is disabled"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
valkey: valkey:
enabled: false enabled: false
@@ -4,7 +4,7 @@ release:
namespace: testing namespace: testing
tests: tests:
- it: "[default values] uses ingress host for DOMAIN|SSH_DOMAIN|ROOT_URL" - it: "[default values] uses ingress host for DOMAIN|SSH_DOMAIN|ROOT_URL"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
asserts: asserts:
- documentIndex: 0 - documentIndex: 0
matchRegex: matchRegex:
@@ -22,7 +22,7 @@ tests:
################################################ ################################################
- it: "[no ingress hosts] uses gitea http service for DOMAIN|SSH_DOMAIN|ROOT_URL" - it: "[no ingress hosts] uses gitea http service for DOMAIN|SSH_DOMAIN|ROOT_URL"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
ingress: ingress:
hosts: [] hosts: []
@@ -43,7 +43,7 @@ tests:
################################################ ################################################
- it: "[provided via values] uses that for DOMAIN|SSH_DOMAIN|ROOT_URL" - it: "[provided via values] uses that for DOMAIN|SSH_DOMAIN|ROOT_URL"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
gitea.config.server.DOMAIN: provided.example.com gitea.config.server.DOMAIN: provided.example.com
ingress: ingress:
@@ -69,7 +69,7 @@ tests:
################################################ ################################################
- it: "[route enabled] uses route host for DOMAIN|SSH_DOMAIN|ROOT_URL" - it: "[route enabled] uses route host for DOMAIN|SSH_DOMAIN|ROOT_URL"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
route: route:
enabled: true enabled: true
@@ -91,7 +91,7 @@ tests:
################################################ ################################################
- it: "[route tls termination] uses https for ROOT_URL" - it: "[route tls termination] uses https for ROOT_URL"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
route: route:
enabled: true enabled: true
@@ -107,7 +107,7 @@ tests:
################################################ ################################################
- it: "[HTTPRoute enabled] uses first hostname for DOMAIN|SSH_DOMAIN|ROOT_URL" - it: "[HTTPRoute enabled] uses first hostname for DOMAIN|SSH_DOMAIN|ROOT_URL"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
ingress: ingress:
hosts: [] hosts: []
@@ -137,7 +137,7 @@ tests:
################################################ ################################################
- it: "[HTTPRoute tls] switches ROOT_URL to https" - it: "[HTTPRoute tls] switches ROOT_URL to https"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
ingress: ingress:
hosts: [] hosts: []
+3 -3
View File
@@ -4,7 +4,7 @@ release:
namespace: testing namespace: testing
tests: tests:
- it: "session is configured correctly for valkey" - it: "session is configured correctly for valkey"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
valkey: valkey:
enabled: true enabled: true
@@ -17,7 +17,7 @@ tests:
PROVIDER_CONFIG=redis://:changeme@gitea-unittests-valkey.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s& PROVIDER_CONFIG=redis://:changeme@gitea-unittests-valkey.testing.svc.cluster.local:6379/0?pool_size=100&idle_timeout=180s&
- it: "session is configured correctly for 'memory' when valkey is disabled" - it: "session is configured correctly for 'memory' when valkey is disabled"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
valkey: valkey:
enabled: false enabled: false
@@ -30,7 +30,7 @@ tests:
PROVIDER_CONFIG= PROVIDER_CONFIG=
- it: "session can be customized when valkey is disabled" - it: "session can be customized when valkey is disabled"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
set: set:
valkey: valkey:
enabled: false enabled: false
@@ -106,7 +106,7 @@ tests:
name: gitea-unittests-postgresql-ha-pgpool name: gitea-unittests-postgresql-ha-pgpool
namespace: testing namespace: testing
- it: "[gitea] connects to pgpool service" - it: "[gitea] connects to pgpool service"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
asserts: asserts:
- documentIndex: 0 - documentIndex: 0
matchRegex: matchRegex:
@@ -115,14 +115,14 @@ tests:
- it: "[gitea] connects to pgpool service with custom cluster domain" - it: "[gitea] connects to pgpool service with custom cluster domain"
set: set:
clusterDomain: my-special-cluster.local clusterDomain: my-special-cluster.local
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
asserts: asserts:
- documentIndex: 0 - documentIndex: 0
matchRegex: matchRegex:
path: stringData.database path: stringData.database
pattern: HOST=gitea-unittests-postgresql-ha-pgpool.testing.svc.my-special-cluster.local:1234 pattern: HOST=gitea-unittests-postgresql-ha-pgpool.testing.svc.my-special-cluster.local:1234
- it: "[gitea] connects to configured database" - it: "[gitea] connects to configured database"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
asserts: asserts:
- documentIndex: 0 - documentIndex: 0
matchRegex: matchRegex:
@@ -65,7 +65,7 @@ tests:
name: gitea-unittests-postgresql name: gitea-unittests-postgresql
namespace: testing namespace: testing
- it: "[gitea] connects to postgresql service" - it: "[gitea] connects to postgresql service"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
asserts: asserts:
- documentIndex: 0 - documentIndex: 0
matchRegex: matchRegex:
@@ -74,14 +74,14 @@ tests:
- it: "[gitea] connects to postgresql service with custom cluster domain" - it: "[gitea] connects to postgresql service with custom cluster domain"
set: set:
clusterDomain: my-special-cluster.local clusterDomain: my-special-cluster.local
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
asserts: asserts:
- documentIndex: 0 - documentIndex: 0
matchRegex: matchRegex:
path: stringData.database path: stringData.database
pattern: HOST=gitea-unittests-postgresql.testing.svc.my-special-cluster.local:1234 pattern: HOST=gitea-unittests-postgresql.testing.svc.my-special-cluster.local:1234
- it: "[gitea] connects to configured database" - it: "[gitea] connects to configured database"
template: templates/gitea/secret_inlineConfig.yaml template: templates/secret_inlineConfig.yaml
asserts: asserts:
- documentIndex: 0 - documentIndex: 0
matchRegex: matchRegex:
@@ -35,7 +35,7 @@ tests:
targetPort: tcp targetPort: tcp
protocol: TCP protocol: TCP
- it: "[gitea] waits for valkey to be up and running" - it: "[gitea] waits for valkey to be up and running"
template: templates/gitea/secret_init.yaml template: templates/secret_init.yaml
asserts: asserts:
- documentIndex: 0 - documentIndex: 0
matchRegex: matchRegex:
@@ -44,7 +44,7 @@ tests:
- it: "[gitea] waits for valkey to be up and running with custom cluster domain" - it: "[gitea] waits for valkey to be up and running with custom cluster domain"
set: set:
clusterDomain: my-special-cluster.local clusterDomain: my-special-cluster.local
template: templates/gitea/secret_init.yaml template: templates/secret_init.yaml
asserts: asserts:
- documentIndex: 0 - documentIndex: 0
matchRegex: matchRegex:
+15 -12
View File
@@ -3,20 +3,21 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: fails with multiple replicas and "GIT_GC_REPOS" enabled - it: fails with multiple replicas and "GIT_GC_REPOS" enabled
template: templates/gitea/secret_config.yaml template: templates/secret_config.yaml
set: set:
deployment: deployment:
replicas: 2 replicas: 2
persistence: persistence:
new:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
gitea: gitea:
@@ -28,19 +29,20 @@ tests:
- failedTemplate: - failedTemplate:
errorMessage: "Invoking the garbage collector via CRON is not yet supported when running with multiple replicas. Please set 'gitea.config.cron.GIT_GC_REPOS.enabled = false'." errorMessage: "Invoking the garbage collector via CRON is not yet supported when running with multiple replicas. Please set 'gitea.config.cron.GIT_GC_REPOS.enabled = false'."
- it: fails with multiple replicas and RWX file system not set - it: fails with multiple replicas and RWX file system not set
template: templates/gitea/secret_config.yaml template: templates/secret_config.yaml
set: set:
deployment: deployment:
replicas: 2 replicas: 2
asserts: asserts:
- failedTemplate: - failedTemplate:
errorMessage: "When using multiple replicas, a RWX file system is required and persistence.accessModes[0] must be set to ReadWriteMany." errorMessage: "When using multiple replicas, a RWX file system is required and persistence.new.accessModes[0] must be set to ReadWriteMany."
- it: fails with multiple replicas and bleve issue indexer - it: fails with multiple replicas and bleve issue indexer
template: templates/gitea/secret_config.yaml template: templates/secret_config.yaml
set: set:
deployment: deployment:
replicas: 2 replicas: 2
persistence: persistence:
new:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
gitea: gitea:
@@ -51,11 +53,12 @@ tests:
- failedTemplate: - failedTemplate:
errorMessage: "When using multiple replicas, the issue indexer (gitea.config.indexer.ISSUE_INDEXER_TYPE) must be set to a HA-ready provider such as 'meilisearch', 'elasticsearch' or 'db' (if the DB is HA-ready)." errorMessage: "When using multiple replicas, the issue indexer (gitea.config.indexer.ISSUE_INDEXER_TYPE) must be set to a HA-ready provider such as 'meilisearch', 'elasticsearch' or 'db' (if the DB is HA-ready)."
- it: fails with multiple replicas and bleve repo indexer - it: fails with multiple replicas and bleve repo indexer
template: templates/gitea/secret_config.yaml template: templates/secret_config.yaml
set: set:
deployment: deployment:
replicas: 2 replicas: 2
persistence: persistence:
new:
accessModes: accessModes:
- ReadWriteMany - ReadWriteMany
gitea: gitea:
+11 -11
View File
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: reads the admin credentials from the generated secret - it: reads the admin credentials from the generated secret
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- contains: - contains:
path: spec.template.spec.initContainers[2].env path: spec.template.spec.initContainers[2].env
@@ -45,7 +45,7 @@ tests:
value: keepUpdated value: keepUpdated
- it: reads the admin credentials from the configured keys of an existing secret - it: reads the admin credentials from the configured keys of an existing secret
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.admin.existingSecret.enabled: true secrets.admin.existingSecret.enabled: true
secrets.admin.existingSecret.secretName: custom-admin-secret secrets.admin.existingSecret.secretName: custom-admin-secret
@@ -79,7 +79,7 @@ tests:
name: custom-admin-secret name: custom-admin-secret
- it: omits the admin environment when the admin user is disabled - it: omits the admin environment when the admin user is disabled
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.admin.enabled: false secrets.admin.enabled: false
asserts: asserts:
@@ -95,7 +95,7 @@ tests:
any: true any: true
- it: fails on an unsupported password mode - it: fails on an unsupported password mode
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.admin.passwordMode: unsupported secrets.admin.passwordMode: unsupported
asserts: asserts:
+39 -39
View File
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: renders a deployment - it: renders a deployment
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 1 count: 1
@@ -21,14 +21,14 @@ tests:
apiVersion: apps/v1 apiVersion: apps/v1
name: gitea-unittests name: gitea-unittests
- it: renders no deployment when disabled - it: renders no deployment when disabled
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.enabled: false deployment.enabled: false
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 0 count: 0
- it: deployment labels are set - it: deployment labels are set
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.labels: deployment.labels:
hello: world hello: world
@@ -46,7 +46,7 @@ tests:
content: content:
hello: world hello: world
- it: deployment labels are not in selector matchLabels - it: deployment labels are not in selector matchLabels
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.labels: deployment.labels:
custom-label: custom-value custom-label: custom-value
@@ -58,7 +58,7 @@ tests:
app.kubernetes.io/name: gitea app.kubernetes.io/name: gitea
app.kubernetes.io/instance: gitea-unittests app.kubernetes.io/instance: gitea-unittests
- it: deployment labels are always rendered - it: deployment labels are always rendered
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- isSubset: - isSubset:
path: metadata.labels path: metadata.labels
@@ -68,12 +68,12 @@ tests:
app.kubernetes.io/instance: gitea-unittests app.kubernetes.io/instance: gitea-unittests
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
- it: deployment annotations are undefined - it: deployment annotations are undefined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: metadata.annotations path: metadata.annotations
- it: deployment annotations are set - it: deployment annotations are set
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.annotations: deployment.annotations:
hello: world hello: world
@@ -86,7 +86,7 @@ tests:
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.nodeSelector path: spec.template.spec.nodeSelector
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
- it: nodeSelector is defined - it: nodeSelector is defined
set: set:
deployment.nodeSelector: deployment.nodeSelector:
@@ -98,14 +98,14 @@ tests:
content: content:
foo: bar foo: bar
bar: foo bar: foo
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
- it: affinity is undefined - it: affinity is undefined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.affinity path: spec.template.spec.affinity
- it: affinity is defined - it: affinity is defined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.affinity: deployment.affinity:
nodeAffinity: nodeAffinity:
@@ -129,12 +129,12 @@ tests:
values: values:
- linux - linux
- it: dnsConfig is undefined - it: dnsConfig is undefined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.dnsConfig path: spec.template.spec.dnsConfig
- it: dnsConfig is defined - it: dnsConfig is defined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.dnsConfig: deployment.dnsConfig:
nameservers: nameservers:
@@ -152,12 +152,12 @@ tests:
- name: ndots - name: ndots
value: "2" value: "2"
- it: priorityClassName is undefined - it: priorityClassName is undefined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.priorityClassName path: spec.template.spec.priorityClassName
- it: priorityClassName is defined - it: priorityClassName is defined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.priorityClassName: high-priority deployment.priorityClassName: high-priority
asserts: asserts:
@@ -165,12 +165,12 @@ tests:
path: spec.template.spec.priorityClassName path: spec.template.spec.priorityClassName
value: high-priority value: high-priority
- it: schedulerName is undefined - it: schedulerName is undefined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.schedulerName path: spec.template.spec.schedulerName
- it: schedulerName is defined - it: schedulerName is defined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.schedulerName: stork deployment.schedulerName: stork
asserts: asserts:
@@ -178,7 +178,7 @@ tests:
path: spec.template.spec.schedulerName path: spec.template.spec.schedulerName
value: stork value: stork
- it: strategy defaults to a rolling update - it: strategy defaults to a rolling update
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- equal: - equal:
path: spec.strategy path: spec.strategy
@@ -188,7 +188,7 @@ tests:
maxUnavailable: 0 maxUnavailable: 0
maxSurge: 100% maxSurge: 100%
- it: strategy omits rollingUpdate for other strategy types - it: strategy omits rollingUpdate for other strategy types
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.strategy.type: Recreate deployment.strategy.type: Recreate
asserts: asserts:
@@ -197,12 +197,12 @@ tests:
value: value:
type: Recreate type: Recreate
- it: tolerations are undefined - it: tolerations are undefined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.tolerations path: spec.template.spec.tolerations
- it: tolerations are defined - it: tolerations are defined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.tolerations: deployment.tolerations:
- key: database/type - key: database/type
@@ -218,12 +218,12 @@ tests:
value: postgres value: postgres
effect: NoSchedule effect: NoSchedule
- it: topologySpreadConstraints are undefined - it: topologySpreadConstraints are undefined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.topologySpreadConstraints path: spec.template.spec.topologySpreadConstraints
- it: topologySpreadConstraints are defined - it: topologySpreadConstraints are defined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.topologySpreadConstraints: deployment.topologySpreadConstraints:
- topologyKey: kubernetes.io/hostname - topologyKey: kubernetes.io/hostname
@@ -244,7 +244,7 @@ tests:
app.kubernetes.io/instance: gitea-unittests app.kubernetes.io/instance: gitea-unittests
- it: "injects TMP_EXISTING_ENVS_FILE as environment variable to 'init-app-ini' init container" - it: "injects TMP_EXISTING_ENVS_FILE as environment variable to 'init-app-ini' init container"
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- contains: - contains:
path: spec.template.spec.initContainers[1].env path: spec.template.spec.initContainers[1].env
@@ -252,7 +252,7 @@ tests:
name: TMP_EXISTING_ENVS_FILE name: TMP_EXISTING_ENVS_FILE
value: /tmp/existing-envs value: /tmp/existing-envs
- it: "injects ENV_TO_INI_MOUNT_POINT as environment variable to 'init-app-ini' init container" - it: "injects ENV_TO_INI_MOUNT_POINT as environment variable to 'init-app-ini' init container"
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- contains: - contains:
path: spec.template.spec.initContainers[1].env path: spec.template.spec.initContainers[1].env
@@ -260,7 +260,7 @@ tests:
name: ENV_TO_INI_MOUNT_POINT name: ENV_TO_INI_MOUNT_POINT
value: /env-to-ini-mounts value: /env-to-ini-mounts
- it: "deployment.gitea.env is injected into all init containers and the gitea container" - it: "deployment.gitea.env is injected into all init containers and the gitea container"
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.env: deployment.gitea.env:
- name: VARIABLE - name: VARIABLE
@@ -287,7 +287,7 @@ tests:
name: VARIABLE name: VARIABLE
value: my-value value: my-value
- it: CPU resources are defined as well as GOMAXPROCS - it: CPU resources are defined as well as GOMAXPROCS
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.resources: deployment.gitea.resources:
limits: limits:
@@ -315,7 +315,7 @@ tests:
cpu: 100ms cpu: 100ms
memory: 100Mi memory: 100Mi
- it: container resources default to an empty map and GOMAXPROCS is omitted - it: container resources default to an empty map and GOMAXPROCS is omitted
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- equal: - equal:
path: spec.template.spec.containers[0].resources path: spec.template.spec.containers[0].resources
@@ -329,12 +329,12 @@ tests:
divisor: "1" divisor: "1"
resource: limits.cpu resource: limits.cpu
- it: pod level resources are undefined - it: pod level resources are undefined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.resources path: spec.template.spec.resources
- it: pod level resources are defined - it: pod level resources are defined
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.resources: deployment.resources:
limits: limits:
@@ -354,7 +354,7 @@ tests:
cpu: 250m cpu: 250m
memory: 256Mi memory: 256Mi
- it: Init containers have correct volumeMount path - it: Init containers have correct volumeMount path
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
initContainersScriptsVolumeMountPath: "/custom/init/path" initContainersScriptsVolumeMountPath: "/custom/init/path"
asserts: asserts:
@@ -365,7 +365,7 @@ tests:
path: spec.template.spec.initContainers[*].volumeMounts[?(@.name=="config")].mountPath path: spec.template.spec.initContainers[*].volumeMounts[?(@.name=="config")].mountPath
value: "/custom/init/path" value: "/custom/init/path"
- it: Init containers have correct volumeMount path if there is no override - it: Init containers have correct volumeMount path if there is no override
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- equal: - equal:
path: spec.template.spec.initContainers[*].volumeMounts[?(@.name=="init")].mountPath path: spec.template.spec.initContainers[*].volumeMounts[?(@.name=="init")].mountPath
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: omits the checksum annotations by default - it: omits the checksum annotations by default
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.admin.enabled: true secrets.admin.enabled: true
secrets.config.enabled: true secrets.config.enabled: true
@@ -38,7 +38,7 @@ tests:
path: spec.template.metadata.annotations["checksum/metrics"] path: spec.template.metadata.annotations["checksum/metrics"]
- it: adds a checksum annotation for every Secret when addSHASumAnnotation is enabled - it: adds a checksum annotation for every Secret when addSHASumAnnotation is enabled
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.admin.addSHASumAnnotation: true secrets.admin.addSHASumAnnotation: true
secrets.admin.enabled: true secrets.admin.enabled: true
@@ -75,7 +75,7 @@ tests:
path: spec.template.metadata.annotations["checksum/metrics"] path: spec.template.metadata.annotations["checksum/metrics"]
- it: omits the checksum annotation of a single disabled Secret only - it: omits the checksum annotation of a single disabled Secret only
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.admin.addSHASumAnnotation: false secrets.admin.addSHASumAnnotation: false
secrets.admin.enabled: true secrets.admin.enabled: true
@@ -112,7 +112,7 @@ tests:
path: spec.template.metadata.annotations["checksum/metrics"] path: spec.template.metadata.annotations["checksum/metrics"]
- it: adds the checksum of Secrets provided by the user - it: adds the checksum of Secrets provided by the user
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.admin.enabled: true secrets.admin.enabled: true
secrets.admin.addSHASumAnnotation: true secrets.admin.addSHASumAnnotation: true
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: Renders a deployment - it: Renders a deployment
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 1 count: 1
@@ -21,7 +21,7 @@ tests:
apiVersion: apps/v1 apiVersion: apps/v1
name: gitea-unittests name: gitea-unittests
- it: Deployment with empty additionalConfigFromEnvs - it: Deployment with empty additionalConfigFromEnvs
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea.additionalConfigFromEnvs: [] gitea.additionalConfigFromEnvs: []
asserts: asserts:
@@ -49,7 +49,7 @@ tests:
- name: ENV_TO_INI_MOUNT_POINT - name: ENV_TO_INI_MOUNT_POINT
value: /env-to-ini-mounts value: /env-to-ini-mounts
- it: Deployment with standard additionalConfigFromEnvs - it: Deployment with standard additionalConfigFromEnvs
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea.additionalConfigFromEnvs: [{name: GITEA_database_HOST, value: my-db:123}, {name: GITEA_database_USER, value: my-user}] gitea.additionalConfigFromEnvs: [{name: GITEA_database_HOST, value: my-db:123}, {name: GITEA_database_USER, value: my-user}]
asserts: asserts:
@@ -81,7 +81,7 @@ tests:
- name: GITEA_database_USER - name: GITEA_database_USER
value: my-user value: my-user
- it: Deployment with templated additionalConfigFromEnvs - it: Deployment with templated additionalConfigFromEnvs
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea.misc.host: my-db-host:321 gitea.misc.host: my-db-host:321
gitea.misc.user: my-db-user gitea.misc.user: my-db-user
@@ -115,7 +115,7 @@ tests:
- name: GITEA_database_USER - name: GITEA_database_USER
value: my-db-user value: my-db-user
- it: Deployment with additionalConfigFromEnvs templated secret name - it: Deployment with additionalConfigFromEnvs templated secret name
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea.misc.existingSecret: my-db-secret gitea.misc.existingSecret: my-db-secret
gitea.additionalConfigFromEnvs[0]: gitea.additionalConfigFromEnvs[0]:
+1 -1
View File
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deprecation.yaml - templates/deprecation.yaml
tests: tests:
- it: renders nothing with the default values - it: renders nothing with the default values
asserts: asserts:
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: uses direct execution when extraEnvSourceFile is not set - it: uses direct execution when extraEnvSourceFile is not set
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- equal: - equal:
path: spec.template.spec.initContainers[1].command path: spec.template.spec.initContainers[1].command
@@ -26,7 +26,7 @@ tests:
path: spec.template.spec.initContainers[2].args path: spec.template.spec.initContainers[2].args
- it: sources env file in init-app-ini when extraEnvSourceFile is set - it: sources env file in init-app-ini when extraEnvSourceFile is set
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea: gitea:
extraEnvSourceFile: /vault/secrets/gitea extraEnvSourceFile: /vault/secrets/gitea
@@ -42,7 +42,7 @@ tests:
pattern: config_environment\.sh pattern: config_environment\.sh
- it: sources env file in configure-gitea when extraEnvSourceFile is set - it: sources env file in configure-gitea when extraEnvSourceFile is set
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea: gitea:
extraEnvSourceFile: /vault/secrets/gitea extraEnvSourceFile: /vault/secrets/gitea
@@ -58,7 +58,7 @@ tests:
pattern: configure_gitea\.sh pattern: configure_gitea\.sh
- it: sources env file in configure-gpg when extraEnvSourceFile is set with signing enabled - it: sources env file in configure-gpg when extraEnvSourceFile is set with signing enabled
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.gpg.enabled: true secrets.gpg.enabled: true
secrets.gpg.existingSecret.enabled: true secrets.gpg.existingSecret.enabled: true
@@ -77,7 +77,7 @@ tests:
pattern: configure_gpg_environment\.sh pattern: configure_gpg_environment\.sh
- it: includes file existence check in source command - it: includes file existence check in source command
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea: gitea:
extraEnvSourceFile: /vault/secrets/gitea extraEnvSourceFile: /vault/secrets/gitea
@@ -3,23 +3,23 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: Render the deployment (default) - it: Render the deployment (default)
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 1 count: 1
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
- lengthEqual: - lengthEqual:
path: spec.template.spec.initContainers path: spec.template.spec.initContainers
count: 3 count: 3
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
- it: Render the deployment (signing) - it: Render the deployment (signing)
set: set:
@@ -29,11 +29,11 @@ tests:
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 1 count: 1
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
- lengthEqual: - lengthEqual:
path: spec.template.spec.initContainers path: spec.template.spec.initContainers
count: 4 count: 4
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
- it: Render the deployment (extraInitContainers) - it: Render the deployment (extraInitContainers)
set: set:
@@ -54,22 +54,22 @@ tests:
asserts: asserts:
- hasDocuments: - hasDocuments:
count: 1 count: 1
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
- lengthEqual: - lengthEqual:
path: spec.template.spec.initContainers path: spec.template.spec.initContainers
count: 6 count: 6
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.initContainers[0].name path: spec.template.spec.initContainers[0].name
value: bar value: bar
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
- equal: - equal:
path: spec.template.spec.initContainers[5].name path: spec.template.spec.initContainers[5].name
value: foo value: foo
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
- it: renders the chart-managed init containers in the configured order - it: renders the chart-managed init containers in the configured order
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.initContainers: deployment.initContainers:
- link: "initConfigureGitea" - link: "initConfigureGitea"
@@ -83,7 +83,7 @@ tests:
value: init-directories value: init-directories
- it: fails when an init container entry sets both container and link - it: fails when an init container entry sets both container and link
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.initContainers: deployment.initContainers:
- link: "initDirectories" - link: "initDirectories"
@@ -95,7 +95,7 @@ tests:
errorMessage: "deployment.initContainers[0]: `container` and `link` are mutually exclusive" errorMessage: "deployment.initContainers[0]: `container` and `link` are mutually exclusive"
- it: fails when an init container entry sets neither container nor link - it: fails when an init container entry sets neither container nor link
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.initContainers: deployment.initContainers:
- name: foo - name: foo
@@ -104,7 +104,7 @@ tests:
errorMessage: "deployment.initContainers[0]: either `container` or `link` must be set" errorMessage: "deployment.initContainers[0]: either `container` or `link` must be set"
- it: fails when an init container links to an unknown configuration - it: fails when an init container links to an unknown configuration
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.initContainers: deployment.initContainers:
- link: "initSomething" - link: "initSomething"
@@ -6,22 +6,22 @@ chart:
# Override appVersion to be consistent with used digest :) # Override appVersion to be consistent with used digest :)
appVersion: 1.19.3 appVersion: 1.19.3
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: default values - it: default values
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- equal: - equal:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: "docker.gitea.com/gitea:1.19.3-rootless" value: "docker.gitea.com/gitea:1.19.3-rootless"
- it: tag override - it: tag override
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.image.tag: "1.19.4" deployment.gitea.image.tag: "1.19.4"
asserts: asserts:
@@ -29,7 +29,7 @@ tests:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: "docker.gitea.com/gitea:1.19.4-rootless" value: "docker.gitea.com/gitea:1.19.4-rootless"
- it: root-based image - it: root-based image
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.image.rootless: false deployment.gitea.image.rootless: false
asserts: asserts:
@@ -37,7 +37,7 @@ tests:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: "docker.gitea.com/gitea:1.19.3" value: "docker.gitea.com/gitea:1.19.3"
- it: scoped registry - it: scoped registry
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.image.registry: "example.com" deployment.gitea.image.registry: "example.com"
asserts: asserts:
@@ -45,7 +45,7 @@ tests:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: "example.com/gitea:1.19.3-rootless" value: "example.com/gitea:1.19.3-rootless"
- it: global registry - it: global registry
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
global.imageRegistry: "global.example.com" global.imageRegistry: "global.example.com"
asserts: asserts:
@@ -53,7 +53,7 @@ tests:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: "global.example.com/gitea:1.19.3-rootless" value: "global.example.com/gitea:1.19.3-rootless"
- it: digest for rootless image - it: digest for rootless image
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment: deployment:
gitea: gitea:
@@ -65,7 +65,7 @@ tests:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: "docker.gitea.com/gitea:1.19.3-rootless@sha256:b28e8f3089b52ebe6693295df142f8c12eff354e9a4a5bfbb5c10f296c3a537a" value: "docker.gitea.com/gitea:1.19.3-rootless@sha256:b28e8f3089b52ebe6693295df142f8c12eff354e9a4a5bfbb5c10f296c3a537a"
- it: image fullOverride (does not append rootless) - it: image fullOverride (does not append rootless)
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment: deployment:
gitea: gitea:
@@ -82,7 +82,7 @@ tests:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: "docker.gitea.com/gitea:1.19.3" value: "docker.gitea.com/gitea:1.19.3"
- it: digest for root-based image - it: digest for root-based image
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment: deployment:
gitea: gitea:
@@ -94,7 +94,7 @@ tests:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: "docker.gitea.com/gitea:1.19.3@sha256:b28e8f3089b52ebe6693295df142f8c12eff354e9a4a5bfbb5c10f296c3a537a" value: "docker.gitea.com/gitea:1.19.3@sha256:b28e8f3089b52ebe6693295df142f8c12eff354e9a4a5bfbb5c10f296c3a537a"
- it: digest and global registry - it: digest and global registry
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
global.imageRegistry: "global.example.com" global.imageRegistry: "global.example.com"
deployment.gitea.image.digest: "sha256:b28e8f3089b52ebe6693295df142f8c12eff354e9a4a5bfbb5c10f296c3a537a" deployment.gitea.image.digest: "sha256:b28e8f3089b52ebe6693295df142f8c12eff354e9a4a5bfbb5c10f296c3a537a"
@@ -103,7 +103,7 @@ tests:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: "global.example.com/gitea:1.19.3-rootless@sha256:b28e8f3089b52ebe6693295df142f8c12eff354e9a4a5bfbb5c10f296c3a537a" value: "global.example.com/gitea:1.19.3-rootless@sha256:b28e8f3089b52ebe6693295df142f8c12eff354e9a4a5bfbb5c10f296c3a537a"
- it: correctly renders floating tag references - it: correctly renders floating tag references
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
# use non-quoted values on purpose. See: https://gitea.com/gitea/helm-gitea/issues/631 # use non-quoted values on purpose. See: https://gitea.com/gitea/helm-gitea/issues/631
deployment.gitea.image.tag: 1.21 deployment.gitea.image.tag: 1.21
@@ -124,7 +124,7 @@ tests:
path: spec.template.spec.containers[0].image path: spec.template.spec.containers[0].image
value: "docker.gitea.com/gitea:1.21-rootless" value: "docker.gitea.com/gitea:1.21-rootless"
- it: init containers use their own image configuration - it: init containers use their own image configuration
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.initDirectories.image.registry: "init.example.com" deployment.initDirectories.image.registry: "init.example.com"
deployment.initDirectories.image.tag: "1.19.4" deployment.initDirectories.image.tag: "1.19.4"
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: appends the per-container env - it: appends the per-container env
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.initDirectories.env: deployment.initDirectories.env:
- name: INIT_DIRECTORIES - name: INIT_DIRECTORIES
@@ -38,7 +38,7 @@ tests:
value: "1" value: "1"
- it: renders the per-container envFrom - it: renders the per-container envFrom
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.initAppIni.envFrom: deployment.initAppIni.envFrom:
- secretRef: - secretRef:
@@ -53,7 +53,7 @@ tests:
name: special-secret name: special-secret
- it: appends the per-container volumeMounts - it: appends the per-container volumeMounts
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.initConfigureGitea.volumeMounts: deployment.initConfigureGitea.volumeMounts:
- name: my-configmap-volume - name: my-configmap-volume
@@ -74,7 +74,7 @@ tests:
readOnly: true readOnly: true
- it: overrides the resources of a single init container - it: overrides the resources of a single init container
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.initDirectories.resources: deployment.initDirectories.resources:
requests: requests:
@@ -94,7 +94,7 @@ tests:
memory: 128Mi memory: 128Mi
- it: overrides the security context of a single init container - it: overrides the security context of a single init container
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.securityContext: deployment.gitea.securityContext:
runAsUser: 1000 runAsUser: 1000
@@ -109,7 +109,7 @@ tests:
value: 1000 value: 1000
- it: renders the envFrom of the gitea container - it: renders the envFrom of the gitea container
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.envFrom: deployment.gitea.envFrom:
- configMapRef: - configMapRef:
@@ -122,7 +122,7 @@ tests:
name: special-config name: special-config
- it: omits envFrom when unset - it: omits envFrom when unset
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.containers[0].envFrom path: spec.template.spec.containers[0].envFrom
+1 -1
View File
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
tests: tests:
- it: inline config stringData.server using TPL - it: inline config stringData.server using TPL
set: set:
+11 -11
View File
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: renders openshift-compatible defaults for chart-managed containers - it: renders openshift-compatible defaults for chart-managed containers
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
openshift.enabled: true openshift.enabled: true
asserts: asserts:
@@ -62,7 +62,7 @@ tests:
type: RuntimeDefault type: RuntimeDefault
- it: does not force runAsUser 1000 for command init containers on OpenShift - it: does not force runAsUser 1000 for command init containers on OpenShift
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
openshift.enabled: true openshift.enabled: true
secrets.gpg.enabled: true secrets.gpg.enabled: true
@@ -75,7 +75,7 @@ tests:
path: spec.template.spec.initContainers[3].securityContext.runAsUser path: spec.template.spec.initContainers[3].securityContext.runAsUser
- it: preserves explicit pod and container security context overrides on OpenShift - it: preserves explicit pod and container security context overrides on OpenShift
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
openshift: openshift:
enabled: true enabled: true
@@ -103,7 +103,7 @@ tests:
value: 1000620000 value: 1000620000
- it: renders an explicit hostUsers=false override on OpenShift - it: renders an explicit hostUsers=false override on OpenShift
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
openshift: openshift:
enabled: true enabled: true
+17 -17
View File
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: renders default liveness probe - it: renders default liveness probe
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.containers[0].livenessProbe.enabled path: spec.template.spec.containers[0].livenessProbe.enabled
@@ -27,7 +27,7 @@ tests:
port: http port: http
timeoutSeconds: 1 timeoutSeconds: 1
- it: renders default readiness probe - it: renders default readiness probe
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.containers[0].readinessProbe.enabled path: spec.template.spec.containers[0].readinessProbe.enabled
@@ -42,12 +42,12 @@ tests:
port: http port: http
timeoutSeconds: 1 timeoutSeconds: 1
- it: does not render a default startup probe - it: does not render a default startup probe
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notExists: - notExists:
path: spec.template.spec.containers[0].startupProbe path: spec.template.spec.containers[0].startupProbe
- it: allows enabling a startup probe - it: allows enabling a startup probe
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea.startupProbe.enabled: true gitea.startupProbe.enabled: true
asserts: asserts:
@@ -65,7 +65,7 @@ tests:
timeoutSeconds: 1 timeoutSeconds: 1
- it: allows overwriting the default port of the liveness probe - it: allows overwriting the default port of the liveness probe
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea: gitea:
livenessProbe: livenessProbe:
@@ -79,7 +79,7 @@ tests:
port: my-port port: my-port
- it: allows overwriting the default port of the readiness probe - it: allows overwriting the default port of the readiness probe
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea: gitea:
readinessProbe: readinessProbe:
@@ -93,7 +93,7 @@ tests:
port: my-port port: my-port
- it: allows overwriting the default port of the startup probe - it: allows overwriting the default port of the startup probe
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea: gitea:
startupProbe: startupProbe:
@@ -108,7 +108,7 @@ tests:
port: my-port port: my-port
- it: allows using a non-default method as liveness probe - it: allows using a non-default method as liveness probe
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea: gitea:
livenessProbe: livenessProbe:
@@ -136,7 +136,7 @@ tests:
timeoutSeconds: 13372 timeoutSeconds: 13372
- it: allows using a non-default method as readiness probe - it: allows using a non-default method as readiness probe
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea: gitea:
readinessProbe: readinessProbe:
@@ -164,7 +164,7 @@ tests:
timeoutSeconds: 13372 timeoutSeconds: 13372
- it: allows using a non-default method as startup probe - it: allows using a non-default method as startup probe
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
gitea: gitea:
startupProbe: startupProbe:
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: supports adding a sidecar container - it: supports adding a sidecar container
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
extraContainers: extraContainers:
- name: sidecar-bob - name: sidecar-bob
+11 -11
View File
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: skips gpg init container - it: skips gpg init container
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notContains: - notContains:
path: spec.template.spec.initContainers path: spec.template.spec.initContainers
@@ -20,7 +20,7 @@ tests:
content: content:
name: configure-gpg name: configure-gpg
- it: skips gpg env in `init-directories` init container - it: skips gpg env in `init-directories` init container
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.gpg.enabled: false secrets.gpg.enabled: false
asserts: asserts:
@@ -29,14 +29,14 @@ tests:
content: content:
name: GNUPGHOME name: GNUPGHOME
- it: skips gpg env in runtime container - it: skips gpg env in runtime container
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notContains: - notContains:
path: spec.template.spec.containers[0].env path: spec.template.spec.containers[0].env
content: content:
name: GNUPGHOME name: GNUPGHOME
- it: skips gpg volume spec - it: skips gpg volume spec
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
asserts: asserts:
- notContains: - notContains:
path: spec.template.spec.volumes path: spec.template.spec.volumes
+13 -13
View File
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: adds gpg init container - it: adds gpg init container
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.gpg.enabled: true secrets.gpg.enabled: true
secrets.gpg.existingSecret.enabled: true secrets.gpg.existingSecret.enabled: true
@@ -49,7 +49,7 @@ tests:
mountPath: /raw mountPath: /raw
readOnly: true readOnly: true
- it: adds gpg env in `init-directories` init container - it: adds gpg env in `init-directories` init container
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.gpg.enabled: true secrets.gpg.enabled: true
secrets.gpg.existingSecret.enabled: true secrets.gpg.existingSecret.enabled: true
@@ -64,7 +64,7 @@ tests:
name: custom-gpg-secret name: custom-gpg-secret
key: gpgHome key: gpgHome
- it: adds gpg env in runtime container - it: adds gpg env in runtime container
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.gpg.enabled: true secrets.gpg.enabled: true
secrets.gpg.existingSecret.enabled: true secrets.gpg.existingSecret.enabled: true
@@ -79,7 +79,7 @@ tests:
name: custom-gpg-secret name: custom-gpg-secret
key: gpgHome key: gpgHome
- it: reads the gpg home from the configured key of an existing secret - it: reads the gpg home from the configured key of an existing secret
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.gpg.enabled: true secrets.gpg.enabled: true
secrets.gpg.existingSecret.enabled: true secrets.gpg.existingSecret.enabled: true
@@ -95,7 +95,7 @@ tests:
name: custom-gpg-secret name: custom-gpg-secret
key: custom-gpg-home key: custom-gpg-home
- it: adds gpg volume spec - it: adds gpg volume spec
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.gpg.enabled: true secrets.gpg.enabled: true
secrets.gpg.new.privateKey: "gpg-key-placeholder" secrets.gpg.new.privateKey: "gpg-key-placeholder"
@@ -111,7 +111,7 @@ tests:
path: private.asc path: private.asc
defaultMode: 0100 defaultMode: 0100
- it: supports gpg volume spec with external reference - it: supports gpg volume spec with external reference
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
secrets.gpg.enabled: true secrets.gpg.enabled: true
secrets.gpg.existingSecret.enabled: true secrets.gpg.existingSecret.enabled: true
@@ -3,16 +3,16 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/deployment.yaml - templates/deployment.yaml
- templates/gitea/secret_admin.yaml - templates/secret_admin.yaml
- templates/gitea/secret_config.yaml - templates/secret_config.yaml
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml - templates/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: supports defining SSH log level for root based image - it: supports defining SSH log level for root based image
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.image.rootless: false deployment.gitea.image.rootless: false
asserts: asserts:
@@ -22,7 +22,7 @@ tests:
name: SSH_LOG_LEVEL name: SSH_LOG_LEVEL
value: "INFO" value: "INFO"
- it: supports overriding SSH log level - it: supports overriding SSH log level
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.image.rootless: false deployment.gitea.image.rootless: false
gitea.ssh.logLevel: "DEBUG" gitea.ssh.logLevel: "DEBUG"
@@ -33,7 +33,7 @@ tests:
name: SSH_LOG_LEVEL name: SSH_LOG_LEVEL
value: "DEBUG" value: "DEBUG"
- it: supports overriding SSH log level (even when image.fullOverride set) - it: supports overriding SSH log level (even when image.fullOverride set)
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.image.fullOverride: docker.gitea.com/gitea:1.19.3 deployment.gitea.image.fullOverride: docker.gitea.com/gitea:1.19.3
deployment.gitea.image.rootless: false deployment.gitea.image.rootless: false
@@ -45,7 +45,7 @@ tests:
name: SSH_LOG_LEVEL name: SSH_LOG_LEVEL
value: "DEBUG" value: "DEBUG"
- it: skips SSH_LOG_LEVEL for rootless image - it: skips SSH_LOG_LEVEL for rootless image
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.image.rootless: true deployment.gitea.image.rootless: true
gitea.ssh.logLevel: "DEBUG" # explicitly defining a non-standard level here gitea.ssh.logLevel: "DEBUG" # explicitly defining a non-standard level here
@@ -56,7 +56,7 @@ tests:
content: content:
name: SSH_LOG_LEVEL name: SSH_LOG_LEVEL
- it: skips SSH_LOG_LEVEL for rootless image (even when image.fullOverride set) - it: skips SSH_LOG_LEVEL for rootless image (even when image.fullOverride set)
template: templates/gitea/deployment.yaml template: templates/deployment.yaml
set: set:
deployment.gitea.image.fullOverride: docker.gitea.com/gitea:1.19.3 deployment.gitea.image.fullOverride: docker.gitea.com/gitea:1.19.3
deployment.gitea.image.rootless: true deployment.gitea.image.rootless: true
@@ -1,39 +1,17 @@
# File: tests/gitea-storageclass-tests.yaml chart:
appVersion: 1.27.3
suite: storage class configuration tests
release: release:
name: gitea-storageclass-tests name: gitea-unittests
namespace: testing namespace: testing
suite: Storage class configuration tests
templates: templates:
- templates/gitea/persistentVolumeClaim.yaml - templates/persistentVolumeClaim.yaml
tests: tests:
- it: should set storageClassName when persistence.storageClass is defined - it: Set storageClassName when persistence.new.storageClassName is defined
template: templates/gitea/persistentVolumeClaim.yaml
set: set:
persistence.storageClass: "my-storage-class" persistence.enabled: true
asserts: persistence.new.storageClassName: my-storage-class
- equal:
path: "spec.storageClassName"
value: "my-storage-class"
- it: should set global.storageClass when persistence.storageClass is not defined
template: templates/gitea/persistentVolumeClaim.yaml
set:
global.storageClass: "default-storage-class"
asserts: asserts:
- equal: - equal:
path: spec.storageClassName path: spec.storageClassName
value: "default-storage-class" value: my-storage-class
- it: should set storageClassName when persistence.storageClass is defined and global.storageClass is defined
template: templates/gitea/persistentVolumeClaim.yaml
set:
global.storageClass: "default-storage-class"
persistence.storageClass: "my-storage-class"
asserts:
- equal:
path: spec.storageClassName
value: "my-storage-class"
@@ -3,11 +3,11 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/service_ssh.yaml - templates/service_ssh.yaml
- templates/gitea/service_http.yaml - templates/service_http.yaml
tests: tests:
- it: supports adding custom labels to sshService - it: supports adding custom labels to sshService
template: templates/gitea/service_ssh.yaml template: templates/service_ssh.yaml
set: set:
service: service:
ssh: ssh:
@@ -19,7 +19,7 @@ tests:
value: "testvalue" value: "testvalue"
- it: keeps existing labels (ssh) - it: keeps existing labels (ssh)
template: templates/gitea/service_ssh.yaml template: templates/service_ssh.yaml
set: set:
service: service:
ssh: ssh:
@@ -29,7 +29,7 @@ tests:
path: metadata.labels["app"] path: metadata.labels["app"]
- it: supports adding custom labels to httpService - it: supports adding custom labels to httpService
template: templates/gitea/service_http.yaml template: templates/service_http.yaml
set: set:
service: service:
http: http:
@@ -41,7 +41,7 @@ tests:
value: "testvalue" value: "testvalue"
- it: keeps existing labels (http) - it: keeps existing labels (http)
template: templates/gitea/service_http.yaml template: templates/service_http.yaml
set: set:
service: service:
http: http:
@@ -51,7 +51,7 @@ tests:
path: metadata.labels["app"] path: metadata.labels["app"]
- it: render service.ssh.loadBalancerClass if set and type is LoadBalancer - it: render service.ssh.loadBalancerClass if set and type is LoadBalancer
template: templates/gitea/service_ssh.yaml template: templates/service_ssh.yaml
set: set:
service: service:
ssh: ssh:
@@ -73,7 +73,7 @@ tests:
value: ["1.2.3.4/32", "5.6.7.8/32"] value: ["1.2.3.4/32", "5.6.7.8/32"]
- it: does not render when loadbalancer properties are set but type is not loadBalancerClass - it: does not render when loadbalancer properties are set but type is not loadBalancerClass
template: templates/gitea/service_http.yaml template: templates/service_http.yaml
set: set:
service: service:
http: http:
@@ -92,7 +92,7 @@ tests:
path: spec.loadBalancerSourceRanges path: spec.loadBalancerSourceRanges
- it: does not render loadBalancerClass by default even when type is LoadBalancer - it: does not render loadBalancerClass by default even when type is LoadBalancer
template: templates/gitea/service_http.yaml template: templates/service_http.yaml
set: set:
service: service:
http: http:
@@ -107,8 +107,8 @@ tests:
- it: both ssh and http services exist - it: both ssh and http services exist
templates: templates:
- templates/gitea/service_ssh.yaml - templates/service_ssh.yaml
- templates/gitea/service_http.yaml - templates/service_http.yaml
asserts: asserts:
- matchRegex: - matchRegex:
path: metadata.name path: metadata.name
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/backendTLSPolicy.yaml - templates/backendTLSPolicy.yaml
tests: tests:
- it: should not render when gatewayAPI.enabled is false - it: should not render when gatewayAPI.enabled is false
set: set:
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/clientSettingsPolicy.yaml - templates/clientSettingsPolicy.yaml
tests: tests:
- it: should not render when gatewayAPI.enabled is false - it: should not render when gatewayAPI.enabled is false
set: set:
+1 -1
View File
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/httpRoute.yaml - templates/httpRoute.yaml
tests: tests:
- it: should not render when gatewayAPI.enabled is false - it: should not render when gatewayAPI.enabled is false
set: set:
+1 -1
View File
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/tcpRoute.yaml - templates/tcpRoute.yaml
tests: tests:
- it: should not render when gatewayAPI.enabled is false - it: should not render when gatewayAPI.enabled is false
set: set:
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
tests: tests:
- it: renders nothing - it: renders nothing
set: set:
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/secret_gpg.yaml - templates/secret_gpg.yaml
tests: tests:
- it: fails rendering when nothing is configured - it: fails rendering when nothing is configured
set: set:
+13 -13
View File
@@ -1,11 +1,11 @@
suite: Test ingress.yaml
chart: chart:
appVersion: 1.27.3 appVersion: 1.27.3
release: release:
name: gitea-unittest name: gitea-unittests
namespace: gitea-debug namespace: testing
suite: Test ingress.yaml
templates: templates:
- templates/gitea/ingress.yaml - templates/ingress.yaml
tests: tests:
- it: Skip ingress if ingress is disabled - it: Skip ingress if ingress is disabled
set: set:
@@ -41,15 +41,15 @@ tests:
- containsDocument: - containsDocument:
kind: Ingress kind: Ingress
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
name: gitea-unittest name: gitea-unittests
namespace: gitea-debug namespace: testing
- notExists: - notExists:
path: metadata.annotations path: metadata.annotations
- isSubset: - isSubset:
path: metadata.labels path: metadata.labels
content: content:
app: gitea app: gitea
app.kubernetes.io/instance: gitea-unittest app.kubernetes.io/instance: gitea-unittests
app.kubernetes.io/managed-by: Helm app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: gitea app.kubernetes.io/name: gitea
app.kubernetes.io/version: 1.27.3 app.kubernetes.io/version: 1.27.3
@@ -66,7 +66,7 @@ tests:
paths: paths:
- backend: - backend:
service: service:
name: gitea-unittest-http name: gitea-unittests-http
port: port:
number: 3000 number: 3000
path: / path: /
@@ -101,8 +101,8 @@ tests:
- containsDocument: - containsDocument:
kind: Ingress kind: Ingress
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
name: gitea-unittest name: gitea-unittests
namespace: gitea-debug namespace: testing
- contains: - contains:
path: spec.rules path: spec.rules
content: content:
@@ -111,7 +111,7 @@ tests:
paths: paths:
- backend: - backend:
service: service:
name: gitea-unittest-http name: gitea-unittests-http
port: port:
number: 32000 number: 32000
path: / path: /
@@ -131,8 +131,8 @@ tests:
- containsDocument: - containsDocument:
kind: Ingress kind: Ingress
apiVersion: networking.k8s.io/v1 apiVersion: networking.k8s.io/v1
name: gitea-unittest name: gitea-unittests
namespace: gitea-debug namespace: testing
- isSubset: - isSubset:
path: metadata.annotations path: metadata.annotations
content: content:
+1 -1
View File
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
tests: tests:
- it: renders a secret - it: renders a secret
asserts: asserts:
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
tests: tests:
- it: runs gpg in batch mode - it: runs gpg in batch mode
set: set:
@@ -63,7 +63,7 @@ tests:
chown -v 1000:1000 "${GNUPGHOME}" chown -v 1000:1000 "${GNUPGHOME}"
fi fi
- it: it does not chown /data even when image.fullOverride is set - it: it does not chown /data even when image.fullOverride is set
template: templates/gitea/secret_init.yaml template: templates/secret_init.yaml
set: set:
deployment.gitea.image.fullOverride: docker.gitea.com/gitea:1.20.5 deployment.gitea.image.fullOverride: docker.gitea.com/gitea:1.20.5
asserts: asserts:
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/secret_init.yaml - templates/secret_init.yaml
tests: tests:
- it: runs gpg in batch mode - it: runs gpg in batch mode
set: set:
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: renders nothing if monitoring disabled and gitea.metrics.token empty - it: renders nothing if monitoring disabled and gitea.metrics.token empty
set: set:
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/secret_metrics.yaml - templates/secret_metrics.yaml
tests: tests:
- it: renders nothing if monitoring enabled and gitea.metrics.token empty - it: renders nothing if monitoring enabled and gitea.metrics.token empty
set: set:
@@ -0,0 +1,29 @@
chart:
appVersion: 1.27.3 # renovate: datasource=docker registryUrl=https://docker.gitea.com depName=gitea
release:
name: gitea-unittests
namespace: testing
suite: PVC template
templates:
- templates/persistentVolumeClaim.yaml
tests:
- it: Skip persistentVolumeClaim if persistentVolumeClaim is disabled
set:
persistence.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Render persistentVolumeClaim with default values
set:
persistence.enabled: true
persistence.new.storageClassName: "my-storage-class"
asserts:
- containsDocument:
apiVersion: v1
kind: PersistentVolumeClaim
name: gitea-unittests
namespace: testing
- equal:
path: spec.storageClassName
value: "my-storage-class"
-19
View File
@@ -1,19 +0,0 @@
suite: PVC template
release:
name: gitea-unittests
namespace: testing
templates:
- templates/gitea/persistentVolumeClaim.yaml
tests:
- it: Storage Class using TPL
set:
global.persistence.storageClass: "storage-class"
persistence.enabled: true
persistence.create: true
persistence.storageClass: "{{ .Values.global.persistence.storageClass }}"
asserts:
- isKind:
of: PersistentVolumeClaim
- equal:
path: spec.storageClassName
value: "storage-class"
+1 -1
View File
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/route.yaml - templates/route.yaml
tests: tests:
- it: should create route when route.enabled is true - it: should create route when route.enabled is true
set: set:
@@ -0,0 +1,102 @@
chart:
appVersion: 1.27.3 # renovate: datasource=docker registryUrl=https://docker.gitea.com depName=gitea
release:
name: gitea-unittests
namespace: testing
suite: ServiceAccount template
templates:
- templates/serviceAccount.yaml
tests:
- it: Render the ServiceAccount by default
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: ServiceAccount
apiVersion: v1
name: gitea-unittests
namespace: testing
- notExists:
path: metadata.annotations
- equal:
path: metadata.labels
value:
app: gitea
app.kubernetes.io/instance: gitea-unittests
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: gitea
app.kubernetes.io/version: 1.27.3 # renovate: datasource=docker registryUrl=https://docker.gitea.com depName=gitea
helm.sh/chart: gitea-0.0.0
version: 1.27.3 # renovate: datasource=docker registryUrl=https://docker.gitea.com depName=gitea
- equal:
path: automountServiceAccountToken
value: false
- notExists:
path: imagePullSecrets
- it: Skip rendering when serviceAccount.enabled is false
set:
serviceAccount:
enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when an existing ServiceAccount is used
set:
serviceAccount:
existingServiceAccount:
enabled: true
existingServiceAccountName: externally-existing-serviceaccount
asserts:
- hasDocuments:
count: 0
- it: Add custom labels when serviceAccount.new.labels is defined
set:
serviceAccount:
new:
labels:
custom: label
asserts:
- equal:
path: metadata.labels.custom
value: label
- it: Add custom annotations when serviceAccount.new.annotations is defined
set:
serviceAccount:
new:
annotations:
myCustom: annotation
asserts:
- equal:
path: metadata.annotations.myCustom
value: annotation
- it: Mount the token when serviceAccount.new.automountServiceAccountToken is true
set:
serviceAccount:
new:
automountServiceAccountToken: true
asserts:
- equal:
path: automountServiceAccountToken
value: true
- it: Reference image pull secrets when serviceAccount.new.imagePullSecrets is defined
set:
serviceAccount:
new:
imagePullSecrets:
- name: testing-image-pull-secret
- name: another-pull-secret
asserts:
- contains:
path: imagePullSecrets
content:
name: testing-image-pull-secret
- contains:
path: imagePullSecrets
content:
name: another-pull-secret
-82
View File
@@ -1,82 +0,0 @@
suite: ServiceAccount template (basic)
release:
name: gitea-unittests
namespace: testing
templates:
- templates/gitea/serviceAccount.yaml
tests:
- it: skips rendering by default
asserts:
- hasDocuments:
count: 0
- it: renders default ServiceAccount object with serviceAccount.create=true
set:
serviceAccount.create: true
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: ServiceAccount
apiVersion: v1
name: gitea-unittests
- equal:
path: automountServiceAccountToken
value: false
- notExists:
path: imagePullSecrets
- notExists:
path: metadata.annotations
- it: allows for adding custom labels
set:
serviceAccount:
create: true
labels:
custom: label
asserts:
- equal:
path: metadata.labels.custom
value: label
- it: allows for adding custom annotations
set:
serviceAccount:
create: true
annotations:
myCustom: annotation
asserts:
- equal:
path: metadata.annotations.myCustom
value: annotation
- it: allows to override the generated name
set:
serviceAccount:
create: true
name: provided-serviceaccount-name
asserts:
- equal:
path: metadata.name
value: provided-serviceaccount-name
- it: allows to mount the token
set:
serviceAccount:
create: true
automountServiceAccountToken: true
asserts:
- equal:
path: automountServiceAccountToken
value: true
- it: allows to reference image pull secrets
set:
serviceAccount:
create: true
imagePullSecrets:
- name: testing-image-pull-secret
- name: another-pull-secret
asserts:
- contains:
path: imagePullSecrets
content:
name: testing-image-pull-secret
- contains:
path: imagePullSecrets
content:
name: another-pull-secret
@@ -1,37 +0,0 @@
suite: ServiceAccount template (reference)
release:
name: gitea-unittests
namespace: testing
templates:
- templates/gitea/serviceAccount.yaml
- templates/gitea/deployment.yaml
- templates/gitea/secret_admin.yaml
- templates/gitea/secret_config.yaml
- templates/gitea/secret_gpg.yaml
- templates/gitea/secret_init.yaml
- templates/gitea/secret_inlineConfig.yaml
- templates/gitea/secret_metrics.yaml
tests:
- it: does not modify the deployment by default
template: templates/gitea/deployment.yaml
asserts:
- notExists:
path: spec.serviceAccountName
- it: adds the reference to the deployment with serviceAccount.create=true
template: templates/gitea/deployment.yaml
set:
serviceAccount.create: true
asserts:
- equal:
path: spec.template.spec.serviceAccountName
value: gitea-unittests
- it: allows referencing an externally created ServiceAccount to the deployment
template: templates/gitea/deployment.yaml
set:
serviceAccount:
create: false # explicitly set to define rendering behavior
name: "externally-existing-serviceaccount"
asserts:
- equal:
path: spec.template.spec.serviceAccountName
value: externally-existing-serviceaccount
+1 -1
View File
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/serviceMonitor.yaml - templates/serviceMonitor.yaml
tests: tests:
- it: skips rendering by default - it: skips rendering by default
asserts: asserts:
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/serviceMonitor.yaml - templates/serviceMonitor.yaml
tests: tests:
- it: renders nothing if gitea.metrics.serviceMonitor disabled and gitea.metrics.token empty - it: renders nothing if gitea.metrics.serviceMonitor disabled and gitea.metrics.token empty
set: set:
@@ -3,7 +3,7 @@ release:
name: gitea-unittests name: gitea-unittests
namespace: testing namespace: testing
templates: templates:
- templates/gitea/serviceMonitor.yaml - templates/serviceMonitor.yaml
tests: tests:
- it: renders unsecure ServiceMonitor if gitea.metrics.token nil - it: renders unsecure ServiceMonitor if gitea.metrics.token nil
set: set:
@@ -1,34 +0,0 @@
suite: test connection template
release:
name: gitea-unittests
namespace: testing
templates:
- templates/tests/test-http-connection.yaml
tests:
- it: renders openshift-compatible defaults for the test pod
set:
openshift.enabled: true
asserts:
- notExists:
path: spec.hostUsers
- equal:
path: spec.containers[0].securityContext
value:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
- it: renders an explicit hostUsers=false override for the test pod
set:
openshift:
enabled: true
deployment:
hostUsers: false
asserts:
- equal:
path: spec.hostUsers
value: false
+40 -35
View File
@@ -5,7 +5,6 @@
# #
## @param global.imageRegistry global image registry override. ## @param global.imageRegistry global image registry override.
## @param global.imagePullSecrets global image pull secrets override; can be extended by `imagePullSecrets`. ## @param global.imagePullSecrets global image pull secrets override; can be extended by `imagePullSecrets`.
## @param global.storageClass global storage class override.
## @param global.hostAliases global hostAliases which will be added to the pod's hosts files. ## @param global.hostAliases global hostAliases which will be added to the pod's hosts files.
global: global:
imageRegistry: "" imageRegistry: ""
@@ -14,7 +13,6 @@ global:
## - myRegistryKeySecretName ## - myRegistryKeySecretName
## ##
imagePullSecrets: [] imagePullSecrets: []
storageClass: ""
hostAliases: [] hostAliases: []
# - ip: 192.168.137.2 # - ip: 192.168.137.2
# hostnames: # hostnames:
@@ -84,7 +82,6 @@ deployment:
image: image:
registry: "docker.gitea.com" registry: "docker.gitea.com"
repository: gitea repository: gitea
# Overrides the image tag whose default is the chart appVersion.
tag: "" tag: ""
digest: "" digest: ""
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
@@ -871,47 +868,55 @@ service:
## @section ServiceAccount ## @section ServiceAccount
## @param serviceAccount.create Enable the creation of a ServiceAccount.
## @param serviceAccount.name Name of the created ServiceAccount, defaults to release name. Can also link to an externally provided ServiceAccount that should be used.
## @param serviceAccount.automountServiceAccountToken Enable/disable auto mounting of the service account token.
## @param serviceAccount.imagePullSecrets Image pull secrets, available to the ServiceAccount.
## @param serviceAccount.annotations Custom annotations for the ServiceAccount.
## @param serviceAccount.labels Custom labels for the ServiceAccount.
serviceAccount: serviceAccount:
create: false ## @param serviceAccount.enabled Assign the pod to use the ServiceAccount.
name: "" enabled: true
## @param serviceAccount.existingServiceAccount.enabled Enable using an existing ServiceAccount.
## @param serviceAccount.existingServiceAccount.existingServiceAccountName Name of the existing ServiceAccount to use.
existingServiceAccount:
enabled: false
existingServiceAccountName: ""
## @param serviceAccount.new.annotations Custom annotations for the ServiceAccount.
## @param serviceAccount.new.labels Custom labels for the ServiceAccount.
## @param serviceAccount.new.automountServiceAccountToken Enable/disable auto mounting of the service account token.
## @param serviceAccount.new.imagePullSecrets Image pull secrets, available to the ServiceAccount.
new:
annotations: {}
labels: {}
automountServiceAccountToken: false automountServiceAccountToken: false
imagePullSecrets: [] imagePullSecrets: []
# - name: private-registry-access # - name: private-registry-access
annotations: {}
labels: {}
## @section Persistence ## @section Persistence
## @param persistence.enabled Enable persistent storage.
## @param persistence.create Whether to create the persistentVolumeClaim for shared storage.
## @param persistence.mount Whether the persistentVolumeClaim should be mounted (even if not created).
## @param persistence.claimName Use an existing claim to store repository information.
## @param persistence.size Size for persistence to store repo information.
## @param persistence.accessModes AccessMode for persistence.
## @param persistence.labels Labels for the persistence volume claim to be created.
## @param persistence.annotations.helm.sh/resource-policy Resource policy for the persistence volume claim.
## @param persistence.storageClass Name of the storage class to use.
## @param persistence.subPath Subdirectory of the volume to mount at.
## @param persistence.volumeName Name of persistent volume in PVC.
persistence: persistence:
enabled: true ## @param persistence.enabled Enable persistent storage.
create: true enabled: false
mount: true
claimName: gitea-shared-storage ## @param persistence.existingPersistentVolumeClaim.enabled Enable using an existing persistent volume claim.
size: 10Gi ## @param persistence.existingPersistentVolumeClaim.persistentVolumeClaimName Name of the existing persistent volume claim to use.
accessModes: existingPersistentVolumeClaim:
- ReadWriteOnce enabled: false
labels: {} persistentVolumeClaimName: ""
storageClass:
subPath: ## @param persistence.new.annotations.helm.sh/resource-policy Resource policy for the new persistent volume claim.
volumeName: "" ## @param persistence.new.labels Labels for the new persistent volume claim.
## @param persistence.new.accessModes AccessMode for the new persistent volume claim.
## @param persistence.new.persistentVolumeName Name of the persistent volume for the new persistent volume claim.
## @param persistence.new.size Size for the new persistent volume claim.
## @param persistence.new.storageClassName Name of the storage class to use for the new persistent volume claim.
## @param persistence.new.subPath Subdirectory of the volume to mount at for the new persistent volume claim.
new:
annotations: annotations:
helm.sh/resource-policy: keep helm.sh/resource-policy: keep
labels: {}
accessModes:
- ReadWriteOnce
persistentVolumeName: ""
size: 10Gi
storageClassName: ""
subPath: ""
## @param extraContainers Additional sidecar containers to run in the pod. ## @param extraContainers Additional sidecar containers to run in the pod.
extraContainers: [] extraContainers: []