|
| 1 | +# Cozystack v1.0.0-alpha.1 — "Package-Based Architecture" |
| 2 | + |
| 3 | +This alpha release introduces a fundamental architectural shift from HelmRelease bundles to Package-based deployment managed by the cozystack-operator. It includes significant API changes that rename the core CRD, Flux sharding for improved tenant workload distribution, enhanced monitoring capabilities, and various improvements to virtual machines, tenants, and the build workflow. |
| 4 | + |
| 5 | +> **⚠️ Alpha Release Warning**: This is a pre-release version intended for testing and early adoption. Breaking changes may occur before the stable v1.0.0 release. |
| 6 | +
|
| 7 | +## Breaking Changes |
| 8 | + |
| 9 | +### API Rename: CozystackResourceDefinition → ApplicationDefinition |
| 10 | + |
| 11 | +The `CozystackResourceDefinition` CRD has been renamed to `ApplicationDefinition` for better clarity and consistency. This change affects: |
| 12 | +- All Go types and controller files |
| 13 | +- CRD Helm chart renamed from `cozystack-resource-definition-crd` to `application-definition-crd` |
| 14 | +- All cozyrds YAML manifests updated to use `kind: ApplicationDefinition` |
| 15 | + |
| 16 | +A migration (v24) is included to handle the transition automatically. |
| 17 | + |
| 18 | +### Package-Based Deployment |
| 19 | + |
| 20 | +The platform now uses Package resources managed by cozystack-operator instead of HelmRelease bundles. Key changes: |
| 21 | +- Restructured values.yaml with full configuration support (networking, publishing, authentication, scheduling, branding, resources) |
| 22 | +- Added values-isp-full.yaml and values-isp-hosted.yaml for bundle variants |
| 23 | +- Package resources replace old HelmRelease templates |
| 24 | +- PackageSources moved from sources/ to templates/sources/ |
| 25 | +- Migration script `hack/migrate-to-version-1.0.sh` provided for converting ConfigMaps to Package resources |
| 26 | + |
| 27 | +--- |
| 28 | + |
| 29 | +## Major Features and Improvements |
| 30 | + |
| 31 | +### Platform Architecture |
| 32 | + |
| 33 | +* **[platform] Migrate from HelmRelease bundles to Package-based deployment**: Replaced HelmRelease bundle system with Package resources managed by cozystack-operator. Includes restructured values.yaml with full configuration support and migration tooling ([**@kvaps**](https://github.com/kvaps) in #1816). |
| 34 | +* **refactor(api): rename CozystackResourceDefinition to ApplicationDefinition**: Renamed CRD and all related types for better clarity and consistency. Updated all Go types, controllers, and 25+ YAML manifests ([**@kvaps**](https://github.com/kvaps) in #1864). |
| 35 | +* **feat(flux): implement flux sharding for tenant HelmReleases**: Added Flux sharding support to distribute tenant HelmRelease reconciliation across multiple controllers, improving scalability in multi-tenant environments ([**@kvaps**](https://github.com/kvaps) in #1816). |
| 36 | +* **refactor(installer): migrate installer to cozystack-operator**: Moved installer functionality to cozystack-operator for unified management ([**@kvaps**](https://github.com/kvaps) in #1816). |
| 37 | +* **feat(api): add chartRef to ApplicationDefinition**: Added chartRef field to support ExternalArtifact references for flexible chart sourcing ([**@kvaps**](https://github.com/kvaps) in #1816). |
| 38 | +* **feat(api): show only hash in version column for applications and modules**: Simplified version display in API responses for cleaner output ([**@kvaps**](https://github.com/kvaps) in #1816). |
| 39 | + |
| 40 | +### Virtual Machines |
| 41 | + |
| 42 | +* **[vm] Always expose VMs with a service**: Virtual machines are now always exposed with at least a ClusterIP service, ensuring they have in-cluster DNS names and can be accessed from other pods even without public IP addresses ([**@lllamnyp**](https://github.com/lllamnyp) in #1738, #1751). |
| 43 | + |
| 44 | +### Monitoring |
| 45 | + |
| 46 | +* **[monitoring] Add SLACK_SEVERITY_FILTER field and VMAgent for tenant monitoring**: Introduced the SLACK_SEVERITY_FILTER environment variable in the Alerta deployment to enable filtering of alert severities for Slack notifications based on the disabledSeverity configuration. Additionally, added a VMAgent resource template for scraping metrics within tenant namespaces, improving monitoring granularity and control ([**@IvanHunters**](https://github.com/IvanHunters) in #1712). |
| 47 | + |
| 48 | +### Tenants |
| 49 | + |
| 50 | +* **[tenant] Allow egress to parent ingress pods**: Updated tenant network policies to allow egress traffic to parent cluster ingress pods, enabling proper communication patterns between tenant namespaces and parent cluster ingress controllers ([**@lexfrei**](https://github.com/lexfrei) in #1765, #1776). |
| 51 | +* **[tenant] Run cleanup job from system namespace**: Moved tenant cleanup job to run from system namespace, improving security and resource isolation for tenant cleanup operations ([**@lllamnyp**](https://github.com/lllamnyp) in #1774, #1777). |
| 52 | + |
| 53 | +### System |
| 54 | + |
| 55 | +* **[system] Add resource requests and limits to etcd-defrag**: Added resource requests and limits to etcd-defrag job to ensure proper resource allocation and prevent resource contention during etcd maintenance operations ([**@matthieu-robin**](https://github.com/matthieu-robin) in #1785, #1786). |
| 56 | + |
| 57 | +### Development and Build |
| 58 | + |
| 59 | +* **feat(cozypkg): add cross-platform build targets with version injection**: Added cross-platform build targets (linux/amd64, linux/arm64, darwin/amd64, darwin/arm64) for cozypkg/cozyhr tool with automatic version injection from git tags ([**@kvaps**](https://github.com/kvaps) in #1862). |
| 60 | +* **refactor: move scripts to hack directory**: Reorganized scripts to standard hack/ location following Kubernetes project conventions ([**@kvaps**](https://github.com/kvaps) in #1863). |
| 61 | + |
| 62 | +## Fixes |
| 63 | + |
| 64 | +* **fix(talos): skip rebuilding assets if files already exist**: Improved Talos package build process to avoid redundant asset rebuilds when files are already present, reducing build time ([**@kvaps**](https://github.com/kvaps)). |
| 65 | +* **[kubevirt-operator] Fix typo in VMNotRunningFor10Minutes alert**: Fixed typo in VM alert name, ensuring proper alert triggering and monitoring for virtual machines that are not running for extended periods ([**@lexfrei**](https://github.com/lexfrei) in #1770, #1775). |
| 66 | + |
| 67 | +## Documentation |
| 68 | + |
| 69 | +* **[website] docs(storage): simplify NFS driver setup instructions**: Simplified NFS driver setup documentation with clearer instructions ([**@kvaps**](https://github.com/kvaps) in [cozystack/website#399](https://github.com/cozystack/website/pull/399)). |
| 70 | +* **[website] Add Hidora organization support details**: Added Hidora to the support page with organization details ([**@matthieu-robin**](https://github.com/matthieu-robin) in [cozystack/website#397](https://github.com/cozystack/website/pull/397)). |
| 71 | +* **[website] Update LinkedIn link for Hidora organization**: Updated LinkedIn link for Hidora organization on the support page ([**@matthieu-robin**](https://github.com/matthieu-robin) in [cozystack/website#398](https://github.com/cozystack/website/pull/398)). |
| 72 | + |
| 73 | +--- |
| 74 | + |
| 75 | +## Migration Guide |
| 76 | + |
| 77 | +### From v0.39.x / v0.40.x to v1.0.0-alpha.1 |
| 78 | + |
| 79 | +1. **Backup your cluster** before upgrading |
| 80 | +2. Run the migration script: `hack/migrate-to-version-1.0.sh` |
| 81 | +3. The migration will: |
| 82 | + - Convert ConfigMaps to Package resources |
| 83 | + - Rename CozystackResourceDefinition to ApplicationDefinition |
| 84 | + - Update HelmRelease references to use Package-based deployment |
| 85 | + |
| 86 | +### Known Issues |
| 87 | + |
| 88 | +- This is an alpha release; some features may be incomplete or change before stable release |
| 89 | +- Migration script should be tested in a non-production environment first |
| 90 | + |
| 91 | +--- |
| 92 | + |
| 93 | +## Contributors |
| 94 | + |
| 95 | +We'd like to thank all contributors who made this release possible: |
| 96 | + |
| 97 | +* [**@IvanHunters**](https://github.com/IvanHunters) |
| 98 | +* [**@kvaps**](https://github.com/kvaps) |
| 99 | +* [**@lexfrei**](https://github.com/lexfrei) |
| 100 | +* [**@lllamnyp**](https://github.com/lllamnyp) |
| 101 | +* [**@matthieu-robin**](https://github.com/matthieu-robin) |
| 102 | + |
| 103 | +--- |
| 104 | + |
| 105 | +**Full Changelog**: [v0.39.0...v1.0.0-alpha.1](https://github.com/cozystack/cozystack/compare/v0.39.0...v1.0.0-alpha.1) |
| 106 | + |
| 107 | +<!-- |
| 108 | +https://github.com/cozystack/cozystack/releases/tag/v1.0.0-alpha.1 |
| 109 | +--> |
0 commit comments