This is the second release candidate for the upcoming Cozystack v0.31.0 release.
Cozystack 0.31.0 further advances GPU support, monitoring, and all-around convenience features.
New Features and Changes
- [kubernetes] Introduce GPU support for tenant Kubernetes clusters. (@kvaps in #834)
- Add VerticalPodAutoscaler to a few more components:
- Introduce support for cross-architecture builds and Cozystack on ARM:
- [platform] Introduce a new controller to synchronize tenant HelmReleases and propagate configuration changes. (@klinch0 in #870)
- [platform] Introduce options
expose-services
,expose-ingress
andexpose-external-ips
to the ingress service. (@kvaps in #929) - [kubevirt] Enable exporting VMs. (@kvaps in #808)
- [kubevirt] Make KubeVirt's CPU allocation ratio configurable. (@lllamnyp in #905)
- [cozystack-controller] Record the IP address pool and storage class in Workload objects. (@lllamnyp in #831)
- [cilium] Enable Cilium Gateway API. (@zdenekjanda in #924)
- [cilium] Enable user-added parameters in a tenant cluster Cilium. (@lllamnyp in #917)
- Update the Cozystack release policy to include long-lived release branches and start with release candidates. Update CI workflows and docs accordingly.
- Use release branches
release-X.Y
for gathering and releasing fixes after initialvX.Y.0
release. (@kvaps in #816) - Automatically create release branches after initial
vX.Y.0
release is published. (@kvaps in #886) - Introduce Release Candidate versions. Automate patch backporting by applying patches from pull requests labeled
[backport]
to the current release branch. (@kvaps in #841 and #901, @NickVolynkin in #890) - Commit changes in release pipelines under
github-actions <github-actions@github.com>
. (@kvaps in #823) - Describe the Cozystack release workflow. (@NickVolynkin in #817 and #897)
- Use release branches
Fixes
- [virtual-machine] Add GPU names to the virtual machine specifications. (@kvaps in #862)
- [virtual-machine] Count Workload resources for pods by requests, not limits. Other improvements to VM resource tracking. (@lllamnyp in #904)
- [platform] Fix installing HelmReleases on initial setup. (@kvaps in #833)
- [platform] Migration scripts update Kubernetes ConfigMap with the current stack version for improved version tracking. (@klinch0 in #840)
- [platform] Reduce requested CPU and RAM for the
kamaji
provider. (@klinch0 in #825) - [platform] Improve the reconciliation loop for the Cozystack system HelmReleases logic. (@klinch0 in #809 and #810, @kvaps in #811)
- [platform] Remove extra dependencies for the Piraeus operator. (@klinch0 in #856)
- [platform] Refactor dashboard values. (@kvaps in #928, patched by @llamnyp in #952)
- [platform] Make FluxCD artifact disabled by default. (@klinch0 in #964)
- [kubernetes] Update garbage collection of HelmReleases in tenant Kubernetes clusters. (@kvaps in #835)
- [kubernetes] Fix merging
valuesOverride
for tenant clusters. (@kvaps in #879) - [kubernetes] Fix
ubuntu-container-disk
tag. (@kvaps in #887) - [kubernetes] Refactor Helm manifests for tenant Kubernetes clusters. (@kvaps in #866)
- [tenant] Fix an issue with accessing external IPs of a cluster from the cluster itself. (@kvaps in #854)
- [cluster-api] Remove the no longer necessary workaround for Kamaji. (@kvaps in #867, patched in #956)
- [monitoring] Remove legacy label "POD" from the exclude filter in metrics. (@xy2 in #826)
- [monitoring] Refactor management etcd monitoring config. Introduce a migration script for updating monitoring resources (
kube-rbac-proxy
daemonset). (@lllamnyp in #799 and #830) - [monitoring] Fix VerticalPodAutoscaler resource allocation for VMagent. (@klinch0 in #820)
- [postgres] Remove duplicated
template
entry from backup manifest. (@etoshutka in #872) - [kube-ovn] Fix versions mapping in Makefile. (@kvaps in #883)
- [dx] Automatically detect version for migrations in the installer.sh. (@kvaps in #837)
- [e2e] Increase timeout durations for
capi
andkeycloak
to improve reliability during environment setup. (@kvaps in #858) - [e2e] Fix
device_ownership_from_security_context
CRI. (@dtrdnk in #896) - [e2e] Return
genisoimage
to the e2e-test Dockerfile (@gwynbleidd2106 in #962) - [ci] Improve the check for
versions_map
running on pull requests. (@kvaps and @klinch0 in #836, #842, and #845) - [ci] If the release step was skipped on a tag, skip tests as well. (@kvaps in #822)
- [ci] Allow CI to cancel the previous job if a new one is scheduled. (@kvaps in #873)
- [ci] Use the correct version name when uploading build assets to the release page. (@kvaps in #876)
- [ci] Stop using
ok-to-test
label to trigger CI in pull requests. (@kvaps in #875) - [ci] Do not run tests in the release building pipeline. (@kvaps in #882)
- [ci] Fix release branch creation. (@kvaps in #884)
- [ci, dx] Reduce noise in the test logs by suppressing the
wget
progress bar. (@lllamnyp in #865) - [ci] Revert "automatically trigger tests in releasing PR". (@kvaps in #900)
Dependencies
- MetalLB s now included directly as a patched image based on version 14.9. (@lllamnyp in #945)
- Update Kubernetes to v1.32.4. (@kvaps in #949)
- Update Talos Linux to v1.10.1. (@kvaps in #931)
- Update Cilium to v1.17.3. (@kvaps in #848)
- Update LINSTOR to v1.31.0. (@kvaps in #846)
- Update Kube-OVN to v1.13.11. (@kvaps in #847, @lllamnyp in #922)
- Update tenant Kubernetes to v1.32. (@kvaps in #871)
- Update flux-operator to 0.20.0. (@kingdonb in #880 and #934)
- Update multiple Cluster API components. (@kvaps in #867 and #947)
- Update KamajiControlPlane to edge-25.4.1. (@kvaps in #953)
Maintenance
New Contributors
- @etoshutka made their first contribution in #872
- @dtrdnk made their first contribution in #896
- @zdenekjanda made their first contribution in #924
- gwynbleidd2106 made their first contribution in #962
Full Changelog: v0.30.0...v0.31.0-rc.2