Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

The recommended way to install Reaper on a Kubernetes cluster is via the Helm chart:

helm upgrade --install reaper deploy/helm/reaper/ \
  --namespace reaper-system --create-namespace \
  --wait --timeout 120s

This installs:

  • Node DaemonSet: Copies shim + runtime binaries to every node
  • CRD Controller: Watches ReaperPod resources and creates Pods
  • Agent DaemonSet: Health monitoring and Prometheus metrics
  • RuntimeClass: Registers reaper-v2 with Kubernetes
  • RBAC: Required roles and bindings

See Helm Chart Reference for configuration values.

Playground (Local Testing)

Spin up a 3-node Kind cluster with Reaper pre-installed. No local Rust toolchain needed — compilation happens inside Docker:

# Build from source
./scripts/setup-playground.sh

# Or use pre-built images from GHCR
./scripts/setup-playground.sh --release

# Use a specific release version
./scripts/setup-playground.sh --release v0.2.14

# Clean up
./scripts/setup-playground.sh --cleanup

Building from Source

Reaper requires Rust. The toolchain version is pinned in rust-toolchain.toml and installed automatically.

git clone https://github.com/miguelgila/reaper
cd reaper
cargo build --release

Binaries are output to target/release/.

Cross-Compilation (macOS to Linux)

Since Reaper runs on Linux Kubernetes nodes, cross-compile static musl binaries:

# For x86_64 nodes
docker run --rm -v "$(pwd)":/work -w /work \
  messense/rust-musl-cross:x86_64-musl \
  cargo build --release --target x86_64-unknown-linux-musl

# For aarch64 nodes
docker run --rm -v "$(pwd)":/work -w /work \
  messense/rust-musl-cross:aarch64-musl \
  cargo build --release --target aarch64-unknown-linux-musl

Requirements

Runtime (cluster nodes):

  • Linux kernel with overlayfs support (standard since 3.18)
  • Kubernetes cluster with containerd runtime
  • Root access on cluster nodes

Playground:

Building from source:

  • All of the above, plus Rust