Skip to content

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.

  • 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).

minotaur is installed when you select the orchestrator host role. It co-locates with hermes on the same host:

Terminal window
curl --proto '=https' --tlsv1.2 -fsSL https://pantheon.lhocke.dev/installs/install.sh | sh
# Select: orchestrator host

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 = true
token_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 models
Terminal window
pantheon minotaur status # show current queue depth and backend assignments
pantheon minotaur log # tail orchestrator log (live)
pantheon minotaur log --tail 100
pantheon minotaur restart

Generate a token for an Iris client:

Terminal window
pantheon minotaur token create --label "dev-laptop"
# Outputs: pth_<token>

Add the token to Iris config:

~/.config/pantheon/iris.toml
[auth]
token = "pth_<token>"

Revoke a token:

Terminal window
pantheon minotaur token revoke --label "dev-laptop"