Skip to main content
Version: Next 🚧

System Requirements

General requirements​

Consider these system requirements to be minimal. It's almost certain that you'll need more resources for typical development and production workloads.

ComponentDescription
OS/Kubernetes 1Linux: RKE2, K3s, K3d, Rancher Desktop
Windows, macOS: Rancher Desktop
CPU2–4 vCPUs
Memory8 GB RAM (system memory + 4 GB)
Storage10 GB Disk space minimum (system disk + 5 GB)
See Storage recommendations for production deployments
1 Linux: x86_64, arm64 and s390x; macOS: x86_64, arm64 (Epinio CLI only); Windows: x86_64

General installation requirements​

  • An installed kubectl CLI tool with access to the Kubernetes cluster via configured kubeconfig file
  • An installed Helm CLI tool

Running the Epinio CLI on Windows​

The Epinio CLI and its supporting tools are command line tools available on any Unix platform, but not normally on Windows. On Windows you need:

  • sh
  • sed
  • git

and also:

  • kubectl
  • helm

The project recommends installing the Git for Windows distribution, as it provides the first three and much more. You can get helm, kubectl, and epinio itself from their release pages:

Kubernetes requirements​

  • A Kubernetes cluster v1.20-v1.28
  • An optional, but recommended, deployed cert-manager resources
  • A deployed metrics-server resources
  • A deployed Ingress Controller as Traefik or nginx-ingress with default IngressClass set
  • A deployed Persistent Volume Provisioner as Longhorn or local-path providing a default StorageClass. For preference, use access mode ReadWriteMany (RWX).
  • Optional. You need an external load-balancer solution in conjunction with an Ingress controller for exposing Epinio HTTP(S) workload on the Internet. More information here.

Default IngressClass​

Although there are ingress controllers that can work without the definition of a default IngressClass, it's recommended to use the default IngressClass, with the annotation ingressclass.kubernetes.io/is-default-class: "true".

Default StorageClass​

You will need a default StorageClass, with annotation storageclass.kubernetes.io/is-default-class: "true".