minotaur
minotaur is the orchestrator. It runs on your most capable local host — a GPU workstation, a homelab node, or any machine with enough resources to act as the fleet’s coordination point.
minotaur receives work routed by Iris, picks the right model backend from the live capability table, and dispatches. It also owns the auth boundary for requests arriving from outside the local trust zone.
Responsibilities
Section titled “Responsibilities”- Work routing — receives requests from Iris via hermes RPC, consults the capability table, and forwards to the appropriate model backend.
- Auth boundary — validates bearer tokens for requests arriving from off-LAN clients. Requests without a valid token are rejected before they reach any backend.
- Model-class policy — maps Anthropic model names (
claude-sonnet-*,claude-haiku-*) to local model classes (sonnet-class,haiku-class) using a configurable policy table. - Fallback signaling — if no backend has capacity for a request, signals Iris to fall back to Anthropic (subject to routing policy).
Install
Section titled “Install”minotaur is installed when you select the orchestrator host role. It co-locates with hermes on the same host:
curl --proto '=https' --tlsv1.2 -fsSL https://pantheon.lhocke.dev/installs/install.sh | sh# Select: orchestrator hostConfiguration
Section titled “Configuration”minotaur’s config lives at /etc/pantheon/minotaur.toml:
[minotaur]hermes = "127.0.0.1:7677" # local hermes (co-located)log_level = "info"
[auth]require_bearer = truetoken_file = "/etc/pantheon/minotaur-tokens"
[model_classes]"claude-opus-*" = "opus-class""claude-sonnet-*" = "sonnet-class""claude-haiku-*" = "haiku-class""*" = "haiku-class" # fallback class for unknown modelspantheon minotaur status # show current queue depth and backend assignmentspantheon minotaur log # tail orchestrator log (live)pantheon minotaur log --tail 100pantheon minotaur restartAuth tokens
Section titled “Auth tokens”Generate a token for an Iris client:
pantheon minotaur token create --label "dev-laptop"# Outputs: pth_<token>Add the token to Iris config:
[auth]token = "pth_<token>"Revoke a token:
pantheon minotaur token revoke --label "dev-laptop"