cozystack/packages
Aleksei Sviridkin 7b146cbe56
feat(api): make HelmRelease Install/Upgrade timeout per-Application
Replace the hardcoded r.kindName == "Kubernetes" switch in rest.go
with a config-driven path. The ApplicationDefinition CR now accepts a
release.cozystack.io/helm-install-timeout annotation that is parsed
at cozystack-api startup into config.ReleaseConfig.HelmInstallTimeout
and applied to both Install.Timeout and Upgrade.Timeout on the
rendered HelmRelease. Applications that leave the annotation unset
keep flux defaults so their failed installs remediate on the normal
cadence - only the Kubernetes kind carries the override and gets a
15m budget. New kinds with a similar race can opt in by setting the
same annotation; no rest.go patch needed.

Kubernetes-rd sets the annotation to 15m. Table-driven test in
rest_timeout_test.go covers three cases: Kubernetes with 15m, Qdrant
unset, and an arbitrary future kind with 20m - all of which pin the
Remediation.Retries == -1 contract as well.

Assisted-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>
2026-04-16 21:09:35 +03:00
..
apps refactor(kubernetes): extract wait-for-kubeconfig init into shared helper 2026-04-16 21:06:47 +03:00
core Prepare release v1.3.0-rc.1 2026-04-16 08:50:30 +00:00
extra Prepare release v1.3.0-rc.1 2026-04-16 08:50:30 +00:00
library [cozy-lib] Add a hexToInt helper 2026-03-19 07:29:50 +03:00
system feat(api): make HelmRelease Install/Upgrade timeout per-Application 2026-04-16 21:09:35 +03:00
tests/cozy-lib-tests refactor: replace Helm lookup with valuesFrom mechanism 2026-01-05 16:10:55 +01:00