System Requirements
This platform runs a Kubernetes cluster locally using Kind (Kubernetes in Docker), along with a full observability stack including Prometheus, Grafana, Loki, and Tempo. Your system should have:- Operating System: Linux, macOS (Intel/Apple Silicon), or Windows with WSL2
- Memory: At least 8GB RAM recommended (16GB+ for full-stack mode)
- Disk Space: 10GB+ free space for container images and cluster data
- CPU: Multi-core processor recommended for running multiple containers
Required Tools
Nix with Flakes
Nix is the primary package manager used for this project. It ensures reproducible builds and consistent development environments across all platforms. Installation:The project uses Nix flakes (
flake.nix and flake.lock) to manage dependencies and ensure reproducible builds. Flakes support is essential for this project.direnv
direnv automatically loads the development environment when you enter the project directory, making all tools available in your PATH. Installation:Docker
Docker is required for Kind to create the Kubernetes cluster. The platform creates containers that run Kubernetes nodes locally. Installation:On Linux, make sure your user is in the
docker group to run Docker commands without sudo. You may need to log out and back in after adding yourself to the group.Development Environment Tools
Once you have Nix, direnv, and Docker installed, the project’s development environment (viadevenv) will automatically provide these additional tools:
- kubectl - Kubernetes command-line tool
- kind - Kubernetes in Docker
- helm - Kubernetes package manager
- argocd - ArgoCD CLI
- cilium-cli - Cilium CLI (for Cilium mode)
- hubble - Hubble CLI (for network observability)
- istioctl - Istio service mesh CLI
- sops & age - Secret management tools
- skopeo - Container image operations
- cloudflared - Cloudflare Tunnel CLI
direnv allow in the project directory.
Enabling the Development Environment
After installing the prerequisites, navigate to the project directory and enable direnv:The first time you run
direnv allow, Nix will download and build all required dependencies. This may take 10-15 minutes depending on your internet connection and system speed. Subsequent loads will be much faster as everything is cached.Verifying Your Setup
Once the development environment loads, verify that all tools are available:Troubleshooting
Nix flakes not enabled
If you see an error about experimental features, ensure flakes are enabled:direnv not loading automatically
Make sure you’ve added the direnv hook to your shell configuration and restarted your shell:Docker permission denied
On Linux, if you get permission errors running Docker commands:WSL2 Docker issues
On Windows with WSL2, ensure Docker Desktop’s WSL2 integration is enabled:- Open Docker Desktop
- Go to Settings → Resources → WSL Integration
- Enable integration with your WSL2 distribution
- Click “Apply & Restart”