Cozystack is an open-source Platform-as-a-Service (PaaS) framework designed to transform bare metal servers into a managed cloud environment. Originally developed and sponsored by Ænix, it is now a CNCF Sandbox Level Project that enables users to automate the provisioning of Kubernetes clusters, virtual machines (via KubeVirt), databases, load balancers, and HTTP caching services through a simple REST API. It targets developers, DevOps teams, and organizations seeking to build private or public clouds without vendor lock-in. Cozystack is ideal for teams looking to implement Infrastructure-as-Code at scale, particularly in on-premises or hybrid cloud environments where control and cost-efficiency are critical.
What You Get
- Kubernetes Cluster Provisioning - Deploy and manage Kubernetes clusters on bare metal or virtualized infrastructure using a REST API, with support for Talos Linux and ClusterAPI-based node lifecycle management.
- Virtual Machine Management via KubeVirt - Create, start, stop, and scale virtual machines directly through the Cozystack API, leveraging KubeVirt for VM orchestration alongside containers.
- Database-as-a-Service (DBaaS) - Provision and manage relational or NoSQL databases as managed services, abstracting infrastructure complexity for application teams.
- Load Balancer & HTTP Caching Integration - Automatically deploy and configure load balancers and HTTP caching layers (e.g., Nginx) to optimize application performance and traffic routing.
- Unified REST API - All infrastructure resources (K8s clusters, VMs, databases) are accessible via a consistent, documented REST API for automation and integration with CI/CD pipelines.
- Self-Hosted & Open Source - Full control over your infrastructure stack with no vendor dependencies; licensed under Apache 2.0 for commercial and non-commercial use.
Common Use Cases
- Building a private cloud - Enterprises use Cozystack to create internal clouds on existing server hardware, enabling DevOps teams to provision Kubernetes clusters and VMs via API instead of manual configuration.
- Creating a cost-effective development environment - Engineering teams deploy isolated Kubernetes clusters and databases per feature branch using Cozystack’s API, reducing cloud provider costs and accelerating testing cycles.
- Running Kubernetes on bare metal without vendor tools - Organizations with on-premises data centers use Cozystack as a lightweight Kubernetes distribution to avoid managed cloud platform fees while maintaining high availability and automation.
- DevOps teams managing multi-tenant infrastructure - Service providers use Cozystack to offer self-service access to Kubernetes and VMs for internal teams, with resource quotas and automated provisioning via REST calls.
Under The Hood
Cozystack is a Kubernetes-native infrastructure management platform designed to unify backup strategies, workload monitoring, and operator-based control planes into a cohesive and extensible ecosystem. It leverages modern cloud-native patterns to deliver declarative infrastructure management with modular, API-first design principles.
Architecture
Cozystack adopts a controller-runtime based architecture with clear separation of concerns across distinct functional domains.
- Controllers are organized by API groups to manage backups, dashboards, and workload operations independently
- The system uses CRDs and webhooks to enforce type safety and validate configurations at runtime
- Strategy pattern is applied in backup mechanisms to support pluggable storage backends
- Component interactions are orchestrated through Kubernetes-native APIs and declarative configuration models
Tech Stack
Built primarily in Go, the project integrates deeply with the Kubernetes ecosystem and operator frameworks.
- The core is developed using Go with extensive use of controller-runtime and Kubernetes API extensions
- Relies on CRDs, operators, and webhook mechanisms for infrastructure automation and validation
- Development workflows are supported by Makefiles, Go modules, and pre-commit hooks for consistency
- Testing includes standard Go testing alongside Kubernetes e2e and controller-specific test patterns
Code Quality
The codebase reflects a moderate level of quality with some inconsistencies and gaps in testing and documentation.
- Error handling varies across components, with limited centralized error management patterns
- Code style and conventions are mostly consistent but lack comprehensive documentation or linting enforcement
- Test coverage is minimal, with only basic unit and integration tests present in the codebase
- Code organization shows some structure but lacks comprehensive modularity or maintainability practices
What Makes It Unique
Cozystack distinguishes itself through its modular, extensible dashboard and operator architecture.
- A plugin-based dashboard framework enables integration with multiple observability tools via standardized JSON templates
- The built-in agent model supports flexible command interfaces for third-party tool integration and custom workflows
- API-first design allows for modular extension without tight coupling between core components
- Operator-based control plane unifies infrastructure management under a single declarative interface