feat(deployment)!: move topologySpreadConstraints to deployment.topologySpreadConstraints

The top-level `topologySpreadConstraints` value only ever configured the pod spec of the Gitea Deployment, yet
it lived next to chart-wide settings. This made it hard to tell which values influence the Deployment and which
apply to the chart as a whole. Moving it into the `deployment` dict continues the consolidation already done for
`affinity`, `dnsConfig`, `nodeSelector`, `priorityClassName` and `resources`, so all pod scheduling settings are
now grouped in one predictable place.

A deprecation check fails the release when the removed top-level value is still set. Silently ignoring it would
be particularly harmful here: the constraints would be dropped without any warning and all replicas could end up
scheduled on a single node or zone, defeating the availability guarantees the user configured.

BREAKING CHANGE: `topologySpreadConstraints` no longer exists. Use `deployment.topologySpreadConstraints`
instead. Installations that still set `topologySpreadConstraints` will fail unless `checkDeprecation` is set to
`false`.

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-09-04 11:52:17 +02:00
co-authored by Copilot
parent 20de800294
commit 9e12eeccab
6 changed files with 50 additions and 7 deletions
+3 -3
View File
@@ -1118,14 +1118,13 @@ To comply with the Gitea helm chart definition of the digest parameter, a "custo
| `gatewayAPI.nginx.clientSettingsPolicies.labels` | Additional labels applied to the ClientSettingsPolicy | `{}` |
| `gatewayAPI.nginx.clientSettingsPolicies.targetRef` | Target reference for the ClientSettingsPolicy. Defaults to the chart's HTTPRoute. | `{}` |
| `gatewayAPI.nginx.clientSettingsPolicies.body` | Client body settings (required when enabled), e.g. `maxSize`. See `docs/gateway-api.md`. | `{}` |
| `schedulerName` | Use an alternate scheduler, e.g. "stork" | `""` |
| `tolerations` | Tolerations for the deployment | `[]` |
### deployment
| Name | Description | Value |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------ |
| `schedulerName` | Use an alternate scheduler, e.g. "stork" | `""` |
| `tolerations` | Tolerations for the deployment | `[]` |
| `topologySpreadConstraints` | TopologySpreadConstraints for the deployment | `[]` |
| `deployment.enabled` | Enable the deployment of Gitea. | `true` |
| `deployment.annotations` | Annotations for the Gitea deployment to be created | `{}` |
| `deployment.labels` | Labels for the deployment | `{}` |
@@ -1137,6 +1136,7 @@ To comply with the Gitea helm chart definition of the digest parameter, a "custo
| `deployment.priorityClassName` | priorityClassName for the deployment | `""` |
| `deployment.resources` | Resources is the total amount of CPU and Memory resources required by all containers in the pod. | `{}` |
| `deployment.terminationGracePeriodSeconds` | How long to wait until forcefully kill the pod | `60` |
| `deployment.topologySpreadConstraints` | TopologySpreadConstraints for the deployment | `[]` |
### Secret