The project involves deploying the Cozystack platform on a cluster of three Raspberry Pi 5 boards, each equipped with 8 GB of RAM. This setup enables the execution of containers and virtual machines, offering features like multitenancy and managed databases. The hardware configuration requires an NVMe drive for storage and a microSD card for the initial boot process.

The deployment utilizes kuberoot, an experimental distribution project that packages the Linux kernel, init, kubelet, and control plane into a single image. This approach avoids the overhead of KubeVirt, which is typically used in Cozystack but faces compatibility challenges on ARM64 architecture. Virtual machines are managed directly via Cloud Hypervisor using KVM.

The build process for the custom image requires approximately 60 GB of disk space and up to 16 GB of RAM. It involves cross-compiling the kernel, Go-based programs, and the Cloud Hypervisor. The resulting image is written to a microSD card, which then boots the Raspberry Pi into an installer that manages disk partitioning and cluster node configuration.

Cluster management is handled via the Kubernetes API. The first node is initialized with etcd, while subsequent nodes join as control plane members using a JoinTicket. For storage, the system employs blockstor, which replicates volumes across NVMe drives using DRBD and LINSTOR, ensuring data redundancy across the cluster nodes.