feat(deployment)!: move strategy to deployment.strategy
changelog / changelog (push) Successful in 16s
check-and-test / check-and-test (push) Successful in 6m28s

The top-level `strategy` value only ever configured the update strategy of the Gitea Deployment, but had its own
`## @section strategy` next to chart-wide settings. Moving it into the `deployment` dict completes the
consolidation already done for `affinity`, `dnsConfig`, `nodeSelector`, `priorityClassName`, `resources`,
`schedulerName`, `tolerations` and `topologySpreadConstraints`, so everything that shapes the Deployment now
lives in one predictable place.

The parameter descriptions were rewritten while moving them. `strategy type`, `maxSurge` and `maxUnavailable`
merely repeated the key names and gave readers of the generated parameter table no information at all. They now
state the accepted values and that `rollingUpdate` is ignored for the `Recreate` strategy.

Since the `strategy` section disappeared and `clusterDomain` moved into a new `Network` section, the manually
maintained table of contents was updated accordingly, otherwise `markdownlint` fails with MD051 on the dangling
link fragments.

A deprecation check fails the release when the removed top-level value is still set. Silently ignoring it would
be risky: a `Recreate` strategy configured to avoid two pods writing to the same `ReadWriteOnce` volume would
fall back to `RollingUpdate` without any warning.

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

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-09-04 12:08:57 +02:00
co-authored by Copilot
parent efd6536c1a
commit 34dd14e3d8
6 changed files with 171 additions and 138 deletions
+19
View File
@@ -152,6 +152,25 @@ tests:
- equal:
path: spec.template.spec.schedulerName
value: stork
- it: strategy defaults to a rolling update
template: templates/gitea/deployment.yaml
asserts:
- equal:
path: spec.strategy
value:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 0
maxSurge: 100%
- it: strategy omits rollingUpdate for other strategy types
template: templates/gitea/deployment.yaml
set:
deployment.strategy.type: Recreate
asserts:
- equal:
path: spec.strategy
value:
type: Recreate
- it: tolerations are undefined
template: templates/gitea/deployment.yaml
asserts:
@@ -66,6 +66,13 @@ tests:
asserts:
- failedTemplate:
errorMessage: "`schedulerName` does no longer exist. Please refer to the changelog and configure `deployment.schedulerName` 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:
@@ -101,6 +108,8 @@ tests:
limits:
cpu: 100m
schedulerName: stork
strategy:
type: Recreate
tolerations:
- key: database/type
operator: Equal