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
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:
| Component | Requirement |
|---|---|
| Hosts | 3x Physical hosts (or VMs with host CPU passthrough) |
| Architecture | x86_64 |
| CPU | 8 cores |
| RAM | 24 GB |
| Primary Disk | 50 GB SSD (or RAW for VMs) |
| Secondary Disk | 256 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:
| Component | Requirement |
|---|---|
| Hosts | 3x Physical hosts |
| Architecture | x86_64 |
| CPU | 16-32 cores |
| RAM | 64 GB |
| Primary Disk | 100 GB SSD or NVMe |
| Secondary Disk | 1-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:
| Component | Requirement |
|---|---|
| Hosts | 6x+ Physical hosts |
| Architecture | x86_64 |
| CPU | 32-64 cores |
| RAM | 128-256 GB |
| Primary Disk | 200 GB SSD or NVMe |
| Secondary Disk | 4-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
hostin 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