Files
myasnikovdaniil bf4dfdd0ca fix(backport): batch for release-1.6, 2026-10-23 (#5089)
## What this PR does

Backports to release-1.6, picked from main with `cherry-pick -x` in
merge order. Each commit keeps the original message and its `(cherry
picked from commit …)` line.

- [#3581](https://github.com/cozystack/cozystack/pull/3581)
fix(kubernetes): retry the tenant CSI install instead of uninstalling it
- [#3621](https://github.com/cozystack/cozystack/pull/3621) fix(harbor):
retry the nested system install instead of uninstalling it
- [#3630](https://github.com/cozystack/cozystack/pull/3630) fix(tenant):
retry failed etcd and seaweedfs installs in place
- [#3735](https://github.com/cozystack/cozystack/pull/3735)
fix(vm-instance): disable helm readiness wait on the VMInstance release
- [#4799](https://github.com/cozystack/cozystack/pull/4799) fix: typo in
monitoring-agents values.yaml

### Conflicts resolved by hand

- [#3735](https://github.com/cozystack/cozystack/pull/3735): only
`pkg/config/config_test.go` conflicted. release-1.6 has no
`HelmServerSideApplyAnnotation`, so that test entry is left out, and two
comments in `pkg/config/config.go` and
`internal/controller/applicationdefinition_controller.go` are adjusted
to what exists on this line. The rest is the original as is.

Checked on this branch before opening: `helm template` of
`monitoring-agents` and `vm-instance-rd`, `go build`, `go vet`, `go
test` and the commit trailer check pass. Not run locally: `helm
unittest` (plugin not installed) and `helm template` of `harbor`,
`kubernetes` and `tenant`, which need values to render at base and head
alike. CI runs the unit suites.

### Screenshots

Not a UI change.

### Downstream repositories

- [x] No downstream repository is affected by this change
- [ ] [cozystack/website](https://github.com/cozystack/website) -
follow-up:
- [ ]
[cozystack/terraform-provider-cozystack](https://github.com/cozystack/terraform-provider-cozystack)
- follow-up:
- [ ]
[cozystack/ansible-cozystack](https://github.com/cozystack/ansible-cozystack)
- follow-up:
- [ ] [cozystack/ccp](https://github.com/cozystack/ccp) - follow-up:
- [ ] [cozystack/talm](https://github.com/cozystack/talm) - follow-up:
- [ ] [cozystack/cozyhr](https://github.com/cozystack/cozyhr) -
follow-up:
- [ ] [cozystack/cozy-proxy](https://github.com/cozystack/cozy-proxy) -
follow-up:
- [ ]
[cozystack/cozystack-telemetry-server](https://github.com/cozystack/cozystack-telemetry-server)
- follow-up:
- [ ]
[cozystack/external-apps-example](https://github.com/cozystack/external-apps-example)
- follow-up:
- [ ] [cozystack/examples](https://github.com/cozystack/examples) -
follow-up:

### Release note

```release-note
fix(kubernetes): the tenant CSI HelmRelease now retries a failed install instead of being uninstalled between attempts, so a failed install no longer takes the tenant's CSI node plugin and its propagated StorageClasses away while it retries. The same strategy applies to the upgrade action, which it has to: a retried install runs as an upgrade. One consequence is operator-visible: a failed CSI upgrade in a tenant cluster now retries the new manifests every 30s instead of rolling back to the previous release.

fix(harbor): retry a failed Harbor install instead of uninstalling the release, so a slow first install no longer deletes the Redis volume and starts over

fix(tenant): retry a failed etcd or seaweedfs install instead of uninstalling the release, so a slow first install no longer runs the cleanup hooks that delete the etcd data volumes, the SeaweedFS volumes and the filer metadata database

fix(vm-instance): VMInstance HelmReleases no longer hang InProgress or roll back healthy VMs; the release no longer waits on VirtualMachine readiness, which helm-controller's kstatus poller cannot assess correctly for KubeVirt VMs. Existing VMInstance releases are brought in line automatically on upgrade.

fix: typo in monitoring-agents values.yaml
```
2026-11-02 14:42:36 +05:00
..
2026-03-25 15:59:22 +05:00
2025-08-07 14:07:05 +03:00

How to test packages local

cd packages/core/installer
make image-cozystack REGISTRY=YOUR_CUSTOM_REGISTRY
make apply
kubectl delete po -l app=source-controller -n cozy-fluxcd