Cozystack Variants: Overview and Comparison
Introduction
Variants are pre-defined configurations of Cozystack that determine which bundles and components are enabled. Each variant is tested, versioned, and guaranteed to work as a unit. They simplify installation, reduce the risk of misconfiguration, and make it easier to choose the right set of features for your deployment.
This guide is for infrastructure engineers, DevOps teams, and platform architects planning to deploy Cozystack in different environments. It explains how Cozystack variants help tailor the installation to specific needs—whether you’re building a fully featured platform-as-a-service or need full manual control over installed packages.
Variants Overview
| Component | default | isp-full | isp-full-generic | isp-hosted |
|---|---|---|---|---|
| Managed Kubernetes | ✔ | ✔ | ||
| Managed Applications | ✔ | ✔ | ✔ | |
| Virtual Machines | ✔ | ✔ | ||
| Cozystack Dashboard (UI) | ✔ | ✔ | ✔ | |
| Cozystack API | ✔ | ✔ | ✔ | |
| Kubernetes Operators | ✔ | ✔ | ✔ | |
| Monitoring subsystem | ✔ | ✔ | ✔ | |
| Storage subsystem | LINSTOR | LINSTOR | ||
| Networking subsystem | Kube-OVN + Cilium | Kube-OVN + Cilium | ||
| Virtualization subsystem | KubeVirt | KubeVirt | ||
| OS and Kubernetes subsystem | Talos Linux |
Choosing the Right Variant
Variants combine bundles from different layers to match particular needs. Some are designed for full platform scenarios, others for cloud-hosted workloads or fully manual package management.
default
default is a minimal variant that only provides the set of PackageSources (package registry references).
No bundles or components are pre-configured—all packages are managed manually through
cozypkg.
Use this variant when you need full control over which packages are installed and configured.
Example configuration:
apiVersion: cozystack.io/v1alpha1
kind: Package
metadata:
name: cozystack.cozystack-platform
spec:
variant: default
isp-full
isp-full is a full-featured PaaS and IaaS variant, designed for installation on Talos Linux.
It includes all bundles and provides the full set of Cozystack components, enabling a comprehensive PaaS experience.
Some higher-layer components are optional and can be excluded during installation.
isp-full is intended for installation on bare-metal servers or VMs.
Example configuration:
apiVersion: cozystack.io/v1alpha1
kind: Package
metadata:
name: cozystack.cozystack-platform
spec:
variant: isp-full
components:
platform:
values:
networking:
podCIDR: "10.244.0.0/16"
podGateway: "10.244.0.1"
serviceCIDR: "10.96.0.0/16"
joinCIDR: "100.64.0.0/16"
publishing:
host: "example.org"
apiServerEndpoint: "https://192.168.100.10:6443"
exposedServices:
- api
- dashboard
- cdi-uploadproxy
- vm-exportproxy
isp-full-generic
isp-full-generic provides the same full-featured PaaS and IaaS experience as isp-full, but is designed for generic Kubernetes distributions such as k3s, kubeadm, or RKE2.
Use this variant when you want the full Cozystack feature set without requiring Talos Linux.
For detailed installation instructions, see the Generic Kubernetes guide.
Example configuration:
apiVersion: cozystack.io/v1alpha1
kind: Package
metadata:
name: cozystack.cozystack-platform
spec:
variant: isp-full-generic
components:
platform:
values:
networking:
podCIDR: "10.244.0.0/16"
podGateway: "10.244.0.1"
serviceCIDR: "10.96.0.0/16"
joinCIDR: "100.64.0.0/16"
publishing:
host: "example.org"
apiServerEndpoint: "https://192.168.100.10:6443"
exposedServices:
- api
- dashboard
- cdi-uploadproxy
- vm-exportproxy
isp-hosted
Cozystack can be installed as platform-as-a-service (PaaS) on top of an existing managed Kubernetes cluster,
typically provisioned from a cloud provider.
Variant isp-hosted is made for this use case.
It can be used with
kind and any cloud-based Kubernetes clusters.
isp-hosted includes the PaaS and NaaS bundles, providing Cozystack API and UI, managed applications, and tenant Kubernetes clusters.
It does not include CNI plugins, virtualization, or storage.
The Kubernetes cluster used to deploy Cozystack must conform to the following requirements:
- Listening address of some Kubernetes components must be changed from
localhostto a routable address. - Kubernetes API server must be reachable on
localhost.
Example configuration:
apiVersion: cozystack.io/v1alpha1
kind: Package
metadata:
name: cozystack.cozystack-platform
spec:
variant: isp-hosted
components:
platform:
values:
publishing:
host: "example.org"
apiServerEndpoint: "https://192.168.100.10:6443"
exposedServices:
- api
- dashboard
Learn More
For a full list of configuration options for each variant, refer to the configuration reference.
To see the full list of components, how to enable and disable them, refer to the Components reference.
To deploy a selected variant, follow the
Cozystack installation guide
or
provider-specific guides.
However, if this your first time installing Cozystack, it’s best to use the variant isp-full and
go through the
Cozystack tutorial.