Cozystack Variants: Overview and Comparison

Cozystack variants reference: composition, configuration, 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

Componentdefaultisp-fullisp-full-genericisp-hosted
Managed Kubernetes
Managed Applications
Virtual Machines
Cozystack Dashboard (UI)
Cozystack API
Kubernetes Operators
Monitoring subsystem
Storage subsystemLINSTORLINSTOR
Networking subsystemKube-OVN + CiliumKube-OVN + Cilium
Virtualization subsystemKubeVirtKubeVirt
OS and Kubernetes subsystemTalos 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 localhost to 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.