You are viewing documentation for Cozystack next, which is currently in beta. For the latest stable version, see the v1.3 documentation.

Requirements and Toolchain

Prepare infrastructure and install the toolchain.

Toolchain

You will need the following tools installed on your workstation:

  • talosctl, the command line client for Talos Linux (use the v1.12.x series that matches Cozystack 1.3.0).

  • kubectl, the command line client for Kubernetes.

  • Talm, Cozystack’s own configuration manager for Talos Linux:

    curl -sSL https://github.com/cozystack/talm/raw/refs/heads/main/hack/install.sh | sh -s
    

Hardware Requirements

To run this tutorial, you will need the following setup:

Cluster nodes: three bare-metal servers or virtual machines. Hardware requirements depend on your usage scenario:

Here are the baseline requirements for running a small installation. The minimum recommended configuration for each node is as follows:

ComponentRequirement
Hosts3x Physical hosts (or VMs with host CPU passthrough)
Architecturex86_64
CPU8 cores
RAM24 GB
Primary Disk50 GB SSD (or RAW for VMs)
Secondary Disk256 GB SSD (raw)

Suitable for:

  • Dev/Test environments
  • Small demonstration setups
  • 1-2 Tenants
  • Up to 3 Kubernetes clusters
  • Few VMs or Databases

For small production environments, the recommended configuration for each node is as follows:

ComponentRequirement
Hosts3x Physical hosts
Architecturex86_64
CPU16-32 cores
RAM64 GB
Primary Disk100 GB SSD or NVMe
Secondary Disk1-2 TB SSD or NVMe

Suitable for:

  • Small to medium production environments
  • 5-10 Tenants
  • 5+ Kubernetes clusters
  • Dozens Virtual Machines or Databases
  • S3-compatible storage

For medium to large production environments, the optimal configuration for each node is as follows:

ComponentRequirement
Hosts6x+ Physical hosts
Architecturex86_64
CPU32-64 cores
RAM128-256 GB
Primary Disk200 GB SSD or NVMe
Secondary Disk4-10 TB NVMe

Suitable for:

  • Large production environments
  • 20+ Tenants
  • Dozens Kubernetes clusters
  • Hundreds of Virtual Machines and Databases
  • S3-compatible storage

Storage:

  • Primary Disk: Used for Talos Linux, etcd storage, and downloaded images. Low latency is required.
  • Secondary Disk: Used for user application data (ZFS pool).

OS:

  • Any Linux distribution, for example, Ubuntu.
  • There are other installation methods which require either any Linux or no OS at all to start.

BIOS/UEFI Settings:

  • Secure Boot.
    Talos Linux ships pre-signed kernel modules and works with Secure Boot enabled. On non-Talos Ubuntu hosts, the default piraeus-operator flow compiles DRBD in-cluster; the resulting unsigned modules are rejected by kernel lockdown when Secure Boot is enforced. The simplest path is to disable Secure Boot in BIOS/UEFI; alternatively, follow Ubuntu + Secure Boot to pre-install dkms-signed DRBD on the host.

Networking:

  • Routable FQDN domain.
    If you don’t have one, you can use nip.io with dash notation
  • Located in the same L2 network segment.
  • Anti-spoofing disabled.
    It is required for MetalLB, the load balancer used in Cozystack.

Virtual machines:

  • CPU passthrough enabled and CPU model set to host in the hypervisor settings.
  • Nested virtualization enabled.
    Required for virtual machines and tenant kubernetes clusters.

For a more detailed explanation of hardware requirements for different setups, refer to the Hardware Requirements