cozystack/internal
Myasnikov Daniil cf2698e0cf
feat(operator): expose Install/Upgrade timeouts and MaxHistory as flags
The HelmRelease generation in package_reconciler hardcoded three values
that have caused recurring pain:

- Install.Timeout = 10m (line 214)
- Upgrade.Timeout = 10m (line 220)
- MaxHistory = unset (Helm default 5)

The 10m timeout in particular contradicts the per-Application timeout
work done in `pkg/config/config.go` and
`pkg/registry/apps/application/rest.go` (commit 7b146cbe), which lets
individual Applications override the install/upgrade timeout via
annotation. The PackageSource side had no equivalent — etcd works around
it by hand-rolling its HR YAML in `packages/apps/tenant/templates/etcd.yaml`
to set a 30m timeout, harbor has had multiple commits chasing the same
problem from the other side. This closes that gap.

New operator flags (each maps to a chart value with empty default;
operator uses its own default when value is empty):

- `--helmrelease-install-timeout` (default 10m) → Spec.Install.Timeout
- `--helmrelease-upgrade-timeout` (default 10m) → Spec.Upgrade.Timeout
- `--helmrelease-max-history` (default 5)        → Spec.MaxHistory

Production behaviour unchanged. E2E and edge cases (cert rotation,
slow-installing charts) can override per-cluster without modifying
chart manifests.

Per-component overrides on `ComponentInstall` (mirroring the existing
`UpgradeCRDs` pattern) would be a strictly better fix for charts like
etcd that need an outlier timeout — left as a deliberate followup since
it touches the Package CR API.

Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
2026-04-28 12:44:19 +05:00
..
backupcontroller feat(backups): restore vmi to copy in another namespace 2026-04-09 14:06:33 +04:00
controller fix(dashboard): address review feedback on RestoreJob views 2026-04-21 17:27:30 +05:00
cozyvaluesreplicator Improve Reconcile function 2026-01-06 18:53:17 +03:00
crdinstall feat(operator): add per-package upgradeCRDs policy for HelmRelease 2026-04-27 11:19:29 +03:00
fluxinstall refactor(operator): extract shared manifest utils from crdinstall and fluxinstall 2026-02-18 00:49:56 +03:00
lineagecontrollerwebhook feat(lineage-webhook): import scheduling constants from cozystack-scheduler 2026-03-18 14:08:29 +03:00
manifestutil fix(manifestutil): check apiVersion in CollectCRDNames for consistent GVK matching 2026-02-18 00:49:57 +03:00
operator feat(operator): expose Install/Upgrade timeouts and MaxHistory as flags 2026-04-28 12:44:19 +05:00
shared/crdmem refactor(api): rename CozystackResourceDefinition to ApplicationDefinition 2026-01-15 22:35:56 +01:00
sse [kubeovn] Implement the KubeOVN plunger 2025-09-11 02:11:58 +03:00
telemetry fix(telemetry): use APIReader instead of cached client in operator 2026-01-27 18:06:30 +01:00
template [backups] Add templating of velero backups 2026-01-04 13:31:15 +03:00