Configuration reference

The Orchestrator reads configuration from config.yaml at startup. Environment variables override YAML values.

Environment variables

| Variable | Required | Default | Description | |---|---|---|---| | SWARM_JWT_SECRET | ✓ | — | JWT signing secret (HS256, min 32 chars) | | SWARM_USERS | ✓ | — | Comma-separated user:pass pairs | | SWARM_ADMINS | | — | Comma-separated admin usernames | | SWARM_OLLAMA_URL | | http://localhost:11434 | Ollama base URL | | SWARM_HOST | | 0.0.0.0 | Listen host | | SWARM_PORT | | 8001 | Listen port |

config.yaml options

nodes:
  - name: string          # Display name for the node
    tailscale_ip: string  # Tailscale IP of the Aligner machine
    port: number          # Aligner port (default 8000)
    role: shared | personal
    security_level: string  # e.g. 'A', 'BA', 'ZZ'

synthesizer:
  model: llama3.1:8b
  max_tokens: 2048
  temperature: 0.3

preprocessor:
  model: llama3.2:3b

reranker:
  model: llama3.2:3b
  top_k: 5

Security levels

Security levels are 1–2 uppercase letters. A caller at level XY can access:

  • All single-letter tiers below X
  • Sub-levels up to Y within tier X

Examples:

  • Level A → can access A
  • Level BA → can access A, B, BA
  • Level ZZ → can access everything

Levels are assigned per-user in SWARM_USERS (or via admin API) and enforced by the Aligner — the Orchestrator never receives data the user cannot see.