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
Ywithin tierX
Examples:
- Level
A→ can accessA - Level
BA→ can accessA,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.