From c10f6240b16cac3861707c4460ca0a3abd74903a Mon Sep 17 00:00:00 2001 From: Nick Volynkin Date: Tue, 29 Jul 2025 09:47:46 +0300 Subject: [PATCH] [docs] Changelogs for v0.35.* Signed-off-by: Nick Volynkin --- docs/changelogs/template.md | 5 +- docs/changelogs/v0.35.0.md | 138 ++++++++++++++++++++++++++++++++++++ docs/changelogs/v0.35.1.md | 10 +++ docs/changelogs/v0.35.2.md | 22 ++++++ 4 files changed, 174 insertions(+), 1 deletion(-) create mode 100644 docs/changelogs/v0.35.0.md create mode 100644 docs/changelogs/v0.35.1.md create mode 100644 docs/changelogs/v0.35.2.md diff --git a/docs/changelogs/template.md b/docs/changelogs/template.md index f3226bb9..6497b7c0 100644 --- a/docs/changelogs/template.md +++ b/docs/changelogs/template.md @@ -1,4 +1,3 @@ -Release description. + +## Feature Highlights + +### External Application Sources in Cozystack + +Cozystack now supports adding external application packages to the platform's application catalog. +Platform administrators can include custom or third-party applications alongside built-in ones, using the Cozystack API. + +Adding an application requires making an application package, similar to the ones included in Cozystack +under [`packages/apps`](https://github.com/cozystack/cozystack/tree/main/packages/apps). +Using external packages is enabled by a new CustomResourceDefinition (CRD) called `CozystackResourceDefinition` and +a corresponding controller (reconciler) that watches for these resources. + +Add your own managed application using the [documentation](https://cozystack.io/docs/applications/external/) +and an example at [github.com/cozystack/external-apps-example](https://github.com/cozystack/external-apps-example). + + + + +### Cozystack API Improvements + +This release brings significant improvements to the OpenAPI specs for all managed applications in Cozystack, +including databases, tenant Kubernetes, virtual machines, monitoring, and others. +These changes include more precise type definitions for fields that were previously defined only as generic objects, +and many fields now have value constraints. +Now many possible misconfigurations are detected immediately upon API request, and not later, with a failed deployment. + +The Cozystack API now also displays default values for the application resources. +Most other fields now have sane default values when such values are possible. + +All these changes pave the road for the new Cozystack UI, which is currently under development. + +### Hetzner RobotLB Support + +MetalLB, the default load balancer included in Cozystack, is built for bare metal and self-hosted VMs, +but is not supported on most cloud providers. +For example, Hetzner provides its own RobotLB service, which Cozystack now supports as an optional component. + +Read the updated guide on [deploying Cozystack on Hetzner.com](https://cozystack.io/docs/install/providers/hetzner/) +to learn more and deploy your own Cozystack cluster on Hetzner. + +### S3 Service: Dedicated Clusters and Monitoring + +You can now deploy dedicated Cozystack clusters to run the S3 service, powered by SeaweedFS. +Thanks to the support for [integration with remote filer endpoints](https://cozystack.io/docs/operations/stretched/seaweedfs-multidc/), +you can connect your primary Cozystack cluster to use S3 storage in a dedicated cluster. + +For security, platform administrators can now configure the SeaweedFS application with +a list of IP addresses or CIDR ranges that are allowed to access the filer service. + +SeaweedFS has also been integrated into the monitoring stack and now has its own Grafana dashboard. +Together, these enhancements help Cozystack users build a more reliable, scalable, and observable S3 service. + +### ClickHouse Keeper + +The ClickHouse application now includes a ClickHouse Keeper service to improve cluster reliability and availability. +This component is deployed by default with every ClickHouse cluster. + +Learn more in the [ClickHouse configuration reference](https://cozystack.io/docs/applications/clickhouse/#clickhouse-keeper-parameters). + +## Major Features and Improvements + +* [platform] Enable using external application packages by adding a `CozystackResourceDefinition` reconciler. Read the documentation on [adding external applications to Cozystack](https://cozystack.io/docs/applications/external/) to learn more. (@klinch0 in https://github.com/cozystack/cozystack/pull/1313) +* [cozystack-api, apps] Add default values, clear type definitions, value constraints and other improvements to the OpenAPI specs and READMEs by migrating to [cozyvalue-gen](https://github.com/cozystack/cozyvalues-gen). (@kvaps and @NickVolynkin in https://github.com/cozystack/cozystack/pull/1216, https://github.com/cozystack/cozystack/pull/1314, https://github.com/cozystack/cozystack/pull/1316, https://github.com/cozystack/cozystack/pull/1321, and https://github.com/cozystack/cozystack/pull/1333) +* [cozystack-api] Show default values from the OpenAPI spec in the application resources. (@kvaps in https://github.com/cozystack/cozystack/pull/1241) +* [cozystack-api] Provide an API for administrators to define custom managed applications alongside existing managed apps. (@klinch in https://github.com/cozystack/cozystack/pull/1230) +* [robotlb] Introduce the Hetzner RobotLB balancer. (@IvanHunters and @gwynbleidd2106 in https://github.com/cozystack/cozystack/pull/1233) +* [platform, robotlb] Autodetect if node ports should be assigned to load balancer services. (@lllamnyp in https://github.com/cozystack/cozystack/pull/1271) +* [seaweedfs] Enable [integration with remote filer endpoints](https://cozystack.io/docs/operations/stretched/seaweedfs-multidc/) by adding new `Client` topology. (@kvaps in https://github.com/cozystack/cozystack/pull/1239) +* [seaweedfs] Add support for whitelisting and exporting via nginx-ingress. Update cosi-driver. (@kvaps in https://github.com/cozystack/cozystack/pull/1277) +* [monitoring, seaweedfs] Add monitoring and Grafana dashboard for SeaweedFS. (@IvanHunters in https://github.com/cozystack/cozystack/pull/1285) +* [clickhouse] Add the ClickHouse Keeper component. (@klinch0 in https://github.com/cozystack/cozystack/pull/1298 and https://github.com/cozystack/cozystack/pull/1320) + +## Security + +* [keycloak] Store administrative passwords in the management cluster's secrets. (@IvanHunters in https://github.com/cozystack/cozystack/pull/1286) +* [keycloak] Update Keycloak client redirect URI to use HTTPS instead of HTTP. Enable `cookie-secure`. (@klinch0 in https://github.com/cozystack/cozystack/pull/1287) + +## Fixes + +* [platform] Introduce a fixed 2-second delay at the start of reconciliation for system and tenant Helm operations. (@klinch0 in https://github.com/cozystack/cozystack/pull/1343) +* [kubernetes] Add dependency for snapshot CRD and migration to the latest version. (@kvaps in https://github.com/cozystack/cozystack/pull/1275) +* [kubernetes] Fix regression in `volumesnapshotclass` installation from https://github.com/cozystack/cozystack/pull/1203. (@kvaps in https://github.com/cozystack/cozystack/pull/1238) +* [kubernetes] Resolve problems with pod names exceeding allowed length by shortening the name of volume snapshot CRD from `*-volumesnapshot-crd-for-tenant-k8s` to `*-vsnap-crd`. To apply this change, update each affected tenant Kubernetes cluster after updating Cozystack. (@klinch0 in https://github.com/cozystack/cozystack/pull/1284) +* [kubernetes] Disable VPA for VPA in tenant Kubernetes clusters. Tenant clusters have no need for this feature, and it was not designed to work in a tenant cluster, but was enabled by mistake. (@lllamnyp in https://github.com/cozystack/cozystack/pull/1301 and https://github.com/cozystack/cozystack/pull/1318) +* [kamaji] Fix broken migration jobs originating from missing environment variables in the in-tree build. (@lllamnyp in https://github.com/cozystack/cozystack/pull/1338) +* [etcd] Fix the `topologySpreadConstraints` for etcd. (@klinch0 in https://github.com/cozystack/cozystack/pull/1331) +* [tenant] Fix tenant network policy to allow traffic to additional tenant-related services across namespace hierarchies. (@klinch0 in https://github.com/cozystack/cozystack/pull/1232) +* [tenant, monitoring] Improve the reliability of tenant monitoring by increasing the timeout and number of retries. (@IvanHunters in https://github.com/cozystack/cozystack/pull/1294) +* [kubevirt] Fix building KubeVirt CCM image. (@kvaps in https://github.com/cozystack/cozystack/commit/3c7e256906e1dbb0f957dc3a205fa77a147d419d) +* [virtual-machine] Fix a regression with `optional=true` field. (@kvaps in https://github.com/cozystack/cozystack/commit/01053f7c3180d1bd045d7c5fb949984c2bdaf19d) +* [virtual-machine] Enable using custom `instanceType` values in `virtual-machine` and `vm-instance` by disabling field validation. (@lllamnyp in https://github.com/cozystack/cozystack/pull/1300, backported in https://github.com/cozystack/cozystack/pull/1303) +* [cozystack-api] Show correct `kind` values of `ApplicationList`. (@kvaps in https://github.com/cozystack/cozystack/pull/1290) +* [cozystack-api] Add missing roles to allow cozystack-controller to read Kubernetes deployments. (@klinch0 in https://github.com/cozystack/cozystack/pull/1342) +* [linstor] Update LINSTOR monitoring configuration to use label `controller_node` instead of `node`. (@kvaps in https://github.com/cozystack/cozystack/pull/1326 and https://github.com/cozystack/cozystack/pull/1335) +* [seaweedfs] Fix SeaweedFS volume configuration. Increase the volume size limit from 100MB to 30,000MB. (@kvaps in https://github.com/cozystack/cozystack/pull/1328) +* [seaweedfs] Disable proxy buffering and proxy request buffering for ingress. (@kvaps in https://github.com/cozystack/cozystack/pull/1330) + + +## Dependencies + +* Update flux-operator to 0.28.0. (@kingdonb in https://github.com/cozystack/cozystack/pull/1315 and https://github.com/cozystack/cozystack/pull/1344) + +## Documentation + +* [Reimplement Cozystack Roadmap as a GitHub project](https://github.com/orgs/cozystack/projects/1). (@cozystack team) +* [SeaweedFS Multi-DC Configuration](https://cozystack.io/docs/operations/stretched/seaweedfs-multidc/). (@kvaps and @NickVolynkin in https://github.com/cozystack/website/pull/272) +* [Troubleshooting Kube-OVN](https://cozystack.io/docs/operations/troubleshooting/#kube-ovn-crash). (@kvaps and @NickVolynkin in https://github.com/cozystack/website/pull/273) +* [Removing failed nodes from Cozystack cluster](https://cozystack.io/docs/operations/troubleshooting/#remove-a-failed-node-from-the-cluster). (@kvaps and @NickVolynkin in https://github.com/cozystack/website/pull/273) +* [Installing Talos with `kexec`](https://cozystack.io/docs/talos/install/kexec/). (@kvaps and @NickVolynkin in https://github.com/cozystack/website/pull/268) +* [Rewrite Cozystack tutorial](https://cozystack.io/docs/getting-started/). (@NickVolynkin in https://github.com/cozystack/website/pull/262 and https://github.com/cozystack/website/pull/268) +* [How to install Cozystack in Hetzner](https://cozystack.io/docs/install/providers/hetzner/). (@NickVolynkin and @IvanHunters in https://github.com/cozystack/website/pull/280) +* [Adding External Applications to Cozystack Catalog](https://cozystack.io/docs/applications/external/). (@klinch0 and @NickVolynkin in https://github.com/cozystack/website/pull/283) +* [Creating and Using Named VM Images (Golden Images)](https://cozystack.io/docs/virtualization/vm-image/) (@NickVolynkin and @kvaps in https://github.com/cozystack/website/pull/276) +* [Creating Encrypted Storage on LINSTOR](https://cozystack.io/docs/operations/storage/disk-encryption/). (@kvaps and @NickVolynkin in https://github.com/cozystack/website/pull/282) +* [Adding and removing components on Cozystack installation using `bundle-enable` and `bundle-disable`](https://cozystack.io/docs/operations/bundles/#how-to-enable-and-disable-bundle-components) (@NickVolynkin in https://github.com/cozystack/website/pull/281) +* Restructure Cozystack documentation. Bring [managed Kubernetes](https://cozystack.io/docs/kubernetes/), [managed applications](https://cozystack.io/docs/applications/), [virtualization](https://cozystack.io/docs/virtualization/), and [networking](https://cozystack.io/docs/networking/) guides to the top level. (@NickVolynkin in https://github.com/cozystack/website/pull/266) + + +## Development, Testing, and CI/CD + +* [tests] Add tests for S3 buckets. (@IvanHunters in https://github.com/cozystack/cozystack/pull/1283) +* [tests, ci] Simplify test discovery logic; run two k8s tests as separate jobs; delete Clickhouse application after a successful test. (@lllamnyp in https://github.com/cozystack/cozystack/pull/1236) +* [dx] When running `make` commands with `BUILDER` value specified, `PLATFORM` is optional. (@kvaps in https://github.com/cozystack/cozystack/pull/1288) +* [tests] Fix resource specification in virtual machine tests. (@IvanHunters in https://github.com/cozystack/cozystack/pull/1308) +* [tests] Increase available space for e2e tests. (@kvaps in https://github.com/cozystack/cozystack/commit/168a24ffdf1202b3bf2e7d2b5ef54b72b7403baf) +* [tests, ci] Continue application tests after one of them fails. (@NickVolynkin in https://github.com/cozystack/cozystack/commit/634b77edad6c32c101f3e5daea6a5ffc0c83d904) +* [ci] Use a subdomain of aenix.org for Nexus service in CI. (@lllamnyp in https://github.com/cozystack/cozystack/pull/1322) + +--- + +**Full Changelog**: https://github.com/cozystack/cozystack/compare/v0.34.0...v0.35.0 diff --git a/docs/changelogs/v0.35.1.md b/docs/changelogs/v0.35.1.md new file mode 100644 index 00000000..21333eee --- /dev/null +++ b/docs/changelogs/v0.35.1.md @@ -0,0 +1,10 @@ + + + +## Fixes + +* [cozy-lib] Fix malformed retrieval of `cozyConfig` in the cozy-lib template. (@lllamnyp in https://github.com/cozystack/cozystack/pull/1348) + +**Full Changelog**: https://github.com/cozystack/cozystack/compare/v0.35.0...v0.35.1 diff --git a/docs/changelogs/v0.35.2.md b/docs/changelogs/v0.35.2.md new file mode 100644 index 00000000..b35b2f48 --- /dev/null +++ b/docs/changelogs/v0.35.2.md @@ -0,0 +1,22 @@ + + + +## Features and Improvements + +* [talos] Add LLDPD (`ghcr.io/siderolabs/lldpd`) as a built-in system extension, enabling LLDP-based neighbor discovery out of the box. (@lllamnyp in https://github.com/cozystack/cozystack/pull/1351 and https://github.com/cozystack/cozystack/pull/1360) + +## Fixes + +* [cozystack-api] Sanitize the OpenAPI v2 schema. (@kvaps in https://github.com/cozystack/cozystack/pull/1353) +* [seaweedfs] Fix a problem where S3 gateway would be moved to an external pod, resulting in authentication failure. (@kvaps in https://github.com/cozystack/cozystack/pull/1361) + + +## Dependencies + +* Update LINSTOR to v1.31.3. (@kvaps in https://github.com/cozystack/cozystack/pull/1358) +* Update SeaweedFS to v3.96. (@kvaps in https://github.com/cozystack/cozystack/pull/1361) + + +**Full Changelog**: https://github.com/cozystack/cozystack/compare/v0.35.1...v0.35.2