Submit an issue View all issues Source
MIR-896

Runner start fails: expects system containerd instead of starting its own

Done public
phinze phinze Opened Mar 26, 2026 Updated Mar 27, 2026

Bug

miren runner start immediately crashes trying to connect to a system-level containerd socket that doesn't exist on a fresh runner VM.

Error

ERROR: failed to connect to containerd: connection error: desc = "transport: Error while dialing: dial unix:///run/containerd/containerd.sock: timeout"

The runner is looking for containerd at /run/containerd/containerd.sock (the standard system path), but runner VMs don't have containerd installed separately. The server binary manages its own embedded containerd at /var/lib/miren/containerd/containerd.sock — the runner should do the same.

Expected behavior

miren runner start should start its own embedded containerd (same as miren server does), not depend on a pre-existing system containerd.

Reproduction

  1. Fresh Ubuntu 24.04 VM with miren installed (main:d01bdb3)
  2. Successfully join the coordinator: miren runner join -c <coordinator>:8443
  3. Start the runner: miren runner start
  4. Immediate crash with containerd connection error
  5. Crash-loops via systemd restart

Environment

  • Runner: miren-garden-runner-1 (main:d01bdb3, 2026-03-26)
  • Coordinator: miren-garden (main:d01bdb3)
  • GCP project: miren-development
  • OS: Ubuntu 24.04 LTS, no system containerd installed