Skip to content

Rune

One binary. One YAML file. Production services in 60 seconds.

Rune sits in the gap between docker run and Kubernetes. You get a real control plane — services, instances, scaling, health checks, secrets, RBAC — without an afternoon of YAML and a Helm chart for your Helm chart.

Single binary

runed (server) and rune (CLI) are both ~25 MB Go binaries. No etcd, no kubelet, no operator zoo.

Container or process

Run Docker containers or native processes side-by-side. The runner abstraction is uniform across both.

Declarative YAML

A service is a YAML file. Apply with rune cast. The orchestrator reconciles the rest.

Built-in security

Bearer-token auth, policy-based RBAC, AES-256-GCM envelope encryption for secrets.

Real lifecycle

Health checks, scaling, restart, exec, log streaming, dependency graphs — all first-class.

Runesets

Package multi-service applications with templating and values, like a tiny Helm.

Terminal window
# 1. Install
curl -fsSL https://raw.githubusercontent.com/runestack/rune/master/scripts/install-server.sh | sudo bash
# 2. Bootstrap
sudo systemctl start runed
rune admin bootstrap --out-file ~/.rune/token
# 3. Deploy something
cat > echo.yaml <<EOF
service:
name: echo
image: busybox
scale: 1
command: "/bin/sh"
args: ["-c", "while true; do echo hello; sleep 5; done"]
EOF
rune cast echo.yaml
rune logs echo

That’s it. You have a reconciled, supervised service.