Both values are Deployment-scoped: `extraVolumes` is rendered into `spec.template.spec.volumes` and `extraContainerVolumeMounts` only into the volumeMounts of the Gitea container. The `extra*` prefix said nothing about that scope and left them sitting at the top level, far away from the pod- and container-scoped settings that already live under `deployment` and `deployment.gitea`. They therefore become `deployment.volumes` and `deployment.gitea.volumeMounts`, which makes the target resource and container obvious from the values path alone and continues the consolidation started with `deployment.gitea.env`, `deployment.gitea.image`, `deployment.gitea.resources` and the security contexts. `extraInitVolumeMounts` stays where it is for now, because it targets the init containers rather than the Gitea container. The deprecated `extraVolumeMounts` fallback is kept intact and now points at `deployment.gitea.volumeMounts` in its documentation. Both removed keys are covered by the deprecation check, because silently ignoring them would drop mounted TLS certificates, custom themes or client certs and leave Gitea running with a broken or unexpected configuration. BREAKING CHANGE: `extraVolumes` and `extraContainerVolumeMounts` no longer exist. Use `deployment.volumes` and `deployment.gitea.volumeMounts` instead. Installations that still set the old keys will fail to render unless `checkDeprecation` is set to `false`. Co-authored-by: Copilot <copilot@github.com>
181 lines
6.5 KiB
YAML
181 lines
6.5 KiB
YAML
suite: deprecation template (deployment)
|
|
release:
|
|
name: gitea-unittests
|
|
namespace: testing
|
|
templates:
|
|
- templates/gitea/deprecation.yaml
|
|
tests:
|
|
- it: renders nothing with the default values
|
|
asserts:
|
|
- hasDocuments:
|
|
count: 0
|
|
- it: fails when the removed `affinity` value is set
|
|
set:
|
|
affinity:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: kubernetes.io/os
|
|
operator: In
|
|
values:
|
|
- linux
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`affinity` does no longer exist. Please refer to the changelog and configure `deployment.affinity` instead."
|
|
- it: fails when the removed `containerSecurityContext` value is set
|
|
set:
|
|
containerSecurityContext:
|
|
runAsUser: 1000
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`containerSecurityContext` does no longer exist. Please refer to the changelog and configure `deployment.gitea.securityContext` instead."
|
|
- it: fails when the removed `deployment.env` value is set
|
|
set:
|
|
deployment.env:
|
|
- name: VARIABLE
|
|
value: my-value
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`deployment.env` does no longer exist. Please refer to the changelog and configure `deployment.gitea.env` instead."
|
|
- it: fails when the removed `dnsConfig` value is set
|
|
set:
|
|
dnsConfig:
|
|
nameservers:
|
|
- 192.0.2.1
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`dnsConfig` does no longer exist. Please refer to the changelog and configure `deployment.dnsConfig` instead."
|
|
- it: fails when the removed `extraContainerVolumeMounts` value is set
|
|
set:
|
|
extraContainerVolumeMounts:
|
|
- name: postgres-ssl-vol
|
|
mountPath: /pg-ssl
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`extraContainerVolumeMounts` does no longer exist. Please refer to the changelog and configure `deployment.gitea.volumeMounts` instead."
|
|
- it: fails when the removed `extraVolumes` value is set
|
|
set:
|
|
extraVolumes:
|
|
- name: postgres-ssl-vol
|
|
secret:
|
|
secretName: gitea-postgres-ssl
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`extraVolumes` does no longer exist. Please refer to the changelog and configure `deployment.volumes` instead."
|
|
- it: fails when the removed `nodeSelector` value is set
|
|
set:
|
|
nodeSelector:
|
|
foo: bar
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`nodeSelector` does no longer exist. Please refer to the changelog and configure `deployment.nodeSelector` instead."
|
|
- it: fails when the removed `priorityClassName` value is set
|
|
set:
|
|
priorityClassName: high-priority
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`priorityClassName` does no longer exist. Please refer to the changelog and configure `deployment.priorityClassName` instead."
|
|
- it: fails when the removed `podSecurityContext` value is set
|
|
set:
|
|
podSecurityContext:
|
|
fsGroup: 1000
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`podSecurityContext` does no longer exist. Please refer to the changelog and configure `deployment.securityContext` instead."
|
|
- it: fails when the removed `resources` value is set
|
|
set:
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`resources` does no longer exist. Please refer to the changelog and configure `deployment.gitea.resources` instead."
|
|
- it: fails when the removed `replicaCount` value is set
|
|
set:
|
|
replicaCount: 2
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`replicaCount` does no longer exist. Please refer to the changelog and configure `deployment.replicas` instead."
|
|
- it: fails when the removed `schedulerName` value is set
|
|
set:
|
|
schedulerName: stork
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`schedulerName` does no longer exist. Please refer to the changelog and configure `deployment.schedulerName` instead."
|
|
- it: fails when the removed `securityContext` value is set
|
|
set:
|
|
securityContext:
|
|
runAsUser: 1000
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`securityContext` does no longer exist. Please refer to the changelog and configure `deployment.securityContext` and `deployment.gitea.securityContext` instead."
|
|
- it: fails when the removed `strategy` value is set
|
|
set:
|
|
strategy:
|
|
type: Recreate
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`strategy` does no longer exist. Please refer to the changelog and configure `deployment.strategy` instead."
|
|
- it: fails when the removed `tolerations` value is set
|
|
set:
|
|
tolerations:
|
|
- key: database/type
|
|
operator: Equal
|
|
value: postgres
|
|
effect: NoSchedule
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`tolerations` does no longer exist. Please refer to the changelog and configure `deployment.tolerations` instead."
|
|
- it: fails when the removed `topologySpreadConstraints` value is set
|
|
set:
|
|
topologySpreadConstraints:
|
|
- topologyKey: kubernetes.io/hostname
|
|
asserts:
|
|
- failedTemplate:
|
|
errorMessage: "`topologySpreadConstraints` does no longer exist. Please refer to the changelog and configure `deployment.topologySpreadConstraints` instead."
|
|
- it: skips the deprecation checks when `checkDeprecation` is disabled
|
|
set:
|
|
checkDeprecation: false
|
|
affinity:
|
|
nodeAffinity: {}
|
|
containerSecurityContext:
|
|
runAsUser: 1000
|
|
deployment.env:
|
|
- name: VARIABLE
|
|
value: my-value
|
|
dnsConfig:
|
|
nameservers:
|
|
- 192.0.2.1
|
|
extraContainerVolumeMounts:
|
|
- name: postgres-ssl-vol
|
|
mountPath: /pg-ssl
|
|
extraVolumes:
|
|
- name: postgres-ssl-vol
|
|
secret:
|
|
secretName: gitea-postgres-ssl
|
|
nodeSelector:
|
|
foo: bar
|
|
podSecurityContext:
|
|
fsGroup: 1000
|
|
priorityClassName: high-priority
|
|
replicaCount: 2
|
|
resources:
|
|
limits:
|
|
cpu: 100m
|
|
schedulerName: stork
|
|
securityContext:
|
|
runAsUser: 1000
|
|
strategy:
|
|
type: Recreate
|
|
tolerations:
|
|
- key: database/type
|
|
operator: Equal
|
|
value: postgres
|
|
effect: NoSchedule
|
|
topologySpreadConstraints:
|
|
- topologyKey: kubernetes.io/hostname
|
|
asserts:
|
|
- hasDocuments:
|
|
count: 0
|