Single binary
runed (server) and rune (CLI) are both ~25 MB Go binaries. No etcd, no kubelet, no operator zoo.
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.
# 1. Installcurl -fsSL https://raw.githubusercontent.com/runestack/rune/master/scripts/install-server.sh | sudo bash
# 2. Bootstrapsudo systemctl start runedrune admin bootstrap --out-file ~/.rune/token
# 3. Deploy somethingcat > echo.yaml <<EOFservice: name: echo image: busybox scale: 1 command: "/bin/sh" args: ["-c", "while true; do echo hello; sleep 5; done"]EOFrune cast echo.yamlrune logs echoThat’s it. You have a reconciled, supervised service.