| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-04-29 | 4.8 kB | |
| v1.3.1 source code.tar.gz | 2026-04-29 | 5.2 MB | |
| v1.3.1 source code.zip | 2026-04-29 | 7.1 MB | |
| openapi.json | 2026-04-29 | 2.5 MB | |
| cozypkg-checksums.txt | 2026-04-29 | 564 Bytes | |
| cozypkg-windows-arm64.tar.gz | 2026-04-29 | 17.2 MB | |
| cozypkg-darwin-amd64.tar.gz | 2026-04-29 | 20.0 MB | |
| cozypkg-linux-amd64.tar.gz | 2026-04-29 | 19.0 MB | |
| cozypkg-linux-arm64.tar.gz | 2026-04-29 | 17.2 MB | |
| cozypkg-windows-amd64.tar.gz | 2026-04-29 | 19.1 MB | |
| cozypkg-darwin-arm64.tar.gz | 2026-04-29 | 18.6 MB | |
| initramfs-metal-amd64.xz | 2026-04-29 | 146.7 MB | |
| kernel-amd64 | 2026-04-29 | 21.6 MB | |
| nocloud-amd64.raw.xz | 2026-04-29 | 335.4 MB | |
| metal-amd64.raw.xz | 2026-04-29 | 335.4 MB | |
| metal-amd64.iso | 2026-04-29 | 521.5 MB | |
| cozystack-operator-hosted.yaml | 2026-04-29 | 2.5 kB | |
| cozystack-operator-generic.yaml | 2026-04-29 | 2.6 kB | |
| cozystack-operator-talos.yaml | 2026-04-29 | 2.5 kB | |
| cozystack-crds.yaml | 2026-04-29 | 19.1 kB | |
| Totals: 20 Items | 1.5 GB | 1 | |
v1.3.1 (2026-04-28)
Patch release covering a TenantNamespace IDOR fix in the API, a destructive post-upgrade hook removed from the etcd chart, kamaji controller stability, a linstor-csi bump that fixes live migration on Protocol-A/B DRBD resources, the missing linstor-gui build wiring, and a velero RBAC fix that unblocked installs on bundles without Velero.
Security
- fix(api): prevent IDOR in TenantNamespace Get and Watch handlers: Two IDOR (Insecure Direct Object Reference) vulnerabilities allowed authenticated users to read TenantNamespace metadata they had no RoleBinding for. The
GetandWatchhandlers now go through a newhasAccessToNamespace()helper that lists RoleBindings scoped only to the target namespace (orders of magnitude faster than the previous all-cluster scan), returnsNotFoundinstead of leaking existence on unauthorized access, and applies the same check on theWatchfilter path. Includes regression tests for the unauthorized paths. (@IvanHunters in [#2471], backport [#2524])
Features
- feat(linstor): bump linstor-csi to v1.10.6 with Protocol-C dual-attach fix: Live migration of KubeVirt VMs on Protocol-A/B (async) DRBD volumes no longer fails with
Protocol C required.linstor-csiv1.10.6 now installs aProtocol=Coverride on the resource-definition during dual-attach and reverts it on detach, soreplicated-asyncStorageClasses and other Protocol-A/B resource groups support live migration without manualdrbdadm adjustintervention. (@kvaps in [#2496], backport [#2505])
Fixes
-
fix(backups): move velero-configmap Role to velero chart: The
backupstrategy-controller(a default package) declared a Role/RoleBinding scoped to thecozy-veleronamespace for managingResourceModifierConfigMaps. On bundles where Velero was not enabled, that namespace did not exist and the HelmRelease failed withnamespaces "cozy-velero" not found, blocking installation. The Role/RoleBinding now lives in the velero chart, so it is created only when velero is actually deployed. (@myasnikovdaniil in [#2459], backport [#2467]) -
fix(etcd): remove destructive post-upgrade cert-regeneration hook: The etcd chart ran a
post-upgradeHelm hook on every upgrade that deleted etcd TLS Secrets (etcd-ca-tls,etcd-peer-ca-tls,etcd-client-tls,etcd-peer-tls,etcd-server-tls) and then deleted etcd pods, forcing cert-manager to re-issue the entire etcd CA chain. On clusters with Kamaji-managed tenant control planes this put every tenantkube-apiserverinto CrashLoopBackOff until each DataStore was manually re-reconciled. The hook was a one-shot2.6.0 → 2.6.1migration that became a permanent footgun once chart versioning moved to0.0.0+<git-hash>(always< 2.6.1per semver) and after the underlyingrotationPolicy: Alwaysissue was fixed in47d81f70. The hook is now removed entirely. (@myasnikovdaniil in [#2462], backport [#2511]) -
fix(kamaji): increase memory limits and add startup probe: The kamaji controller frequently entered CrashLoopBackOff due to OOMKills (exit 137) within ~20–25 seconds of startup, with the readiness probe failing while the controller was still finishing initialization. Memory limit raised from 500Mi to 512Mi, request from 100Mi to 256Mi, and a 60-second startup probe (12 attempts × 5s periods) is added so the controller has room to boot before liveness/readiness probes engage. (@IvanHunters in [#2421], backport [#2491])
Build
- build(linstor): include linstor-gui in root image build target: The
linstor-guipackage (added in [#2382]) was never wired into the rootMakefile'sbuild:target, so CI never built or published the image.ghcr.io/cozystack/cozystack/linstor-guireturnedNAME_UNKNOWNandvalues.yamlstayed pinned totag: 2.3.0without a digest. The missing build line is added so the next CI run publishes the image and the per-packageMakefiledigest-pinsvalues.yamlautomatically. (@myasnikovdaniil in [#2498], backport [#2518])
Contributors
Thanks to everyone who contributed to this patch release:
Full Changelog: https://github.com/cozystack/cozystack/compare/v1.3.0...v1.3.1