Files
timmy-config/fleet/topology.md
Alexander Whitestone 89bab7d2a0 feat: FLEET-001 — Fleet topology document
Complete inventory of all 4 machines, processes, services, credentials,
cron jobs, launchd services, and resource baselines.

Maps: Ezra (Forge), Allegro, Bezalel, Mac Local (hub).
Identifies unknowns and dependencies.
Generated from direct machine inspection.

Fixes timmy-home#554
2026-04-07 10:22:52 -04:00

8.7 KiB

Fleet Topology — The Timmy Foundation

Last audited: 2026-04-07 Auditor: Timmy (direct) Next review: When any machine changes


Overview Map

                    ┌─────────────┐
                    │  Gitea Forge│
                    │ forge.aws.com│
                    └──────┬──────┘
                           │ HTTPS
         ┌─────────────────┼──────────────────┐
         │                 │                  │
    ┌────┴────┐      ┌────┴────┐       ┌─────┴──────┐
    │  EZRA   │      │ ALLEGRO │       │  BEZALEL   │
    │ VPS     │      │ VPS     │       │  VPS       │
    │ 143.x   │      │ 167.x   │       │ 159.x      │
    │ $12/mo  │      │ $12/mo  │       │ $12/mo     │
    └────┬────┘      └────┬────┘       └─────┬──────┘
         │                │                  │
         └────────────────┼──────────────────┘
                          │
                    ┌─────┴──────┐
                    │  MAC LOCAL │
                    │  M3 Max    │
                    │  36GB      │
                    │ 10.1.10.77 │
                    └────────────┘

Total VPS cost: ~$36/mo Total machines: 4 (3 VPS + 1 Mac) Network: All VPSes on DigitalOcean, Mac on local network (10.1.10.77)


Machine 1: MAC LOCAL (The Hub)

Item Value
OS macOS 26.3.1 (25D2128)
CPU Apple M3 Max, 14 cores
RAM 36 GB
Disk 926 Gi total, 302 Gi free, 12 Gi used (4%)
IP 10.1.10.77 (local), external unknown
Role Primary AI harness, agent runtime, Evennia world

Running Processes

Process PID Memory Notes
Hermes gateway 68449 ~500MB Primary gateway
Hermes agent (s020) 88813 ~180MB Session active since 1:01PM
Hermes agent (s007) 62032 ~200MB Session active since 10:20PM prev
Hermes agent (s001) 12072 ~178MB Session active since Sun 6PM
Ollama 71466 ~20MB /opt/homebrew/opt/ollama/bin/ollama serve
OpenClaw gateway 85834 ~350MB Tue 12PM start
Crucible MCP (x4) multiple ~10-69MB each MCP server instances
Evennia Server 66433 ~49MB Sun 10PM start, port 4000
Evennia Portal 66423 ~7MB Sun 10PM start, port 4001

LaunchD Services

Service Status Notes
ai.hermes.gateway Running (-9) Primary gateway - PID 68426
ai.hermes.gateway-bezalel Running (0) Bezalel gateway connection
ai.hermes.gateway-fenrir Running (0) Fenrir gateway connection
com.ollama.ollama Running (1) Ollama service
ai.timmy.codeclaw-qwen-heartbeat Running (0) Claw Code worker heartbeat (15min)
ai.timmy.kimi-heartbeat Running (0) Kimi agent heartbeat
ai.timmy.claudemax-watchdog Running (0) Claude subscription watchdog

Cron Jobs

Schedule Script Purpose
0 9 * * * daily-fleet-health.sh Daily fleet health check
*/30 * * * burn-monitor.sh Burn mode monitoring
*/15 * * * loop-watchdog.sh Restart dead Groq/Gemini loops
0 8 * * * morning-report.sh Overnight summary to Telegram+Gitea

Key Directories

Path Purpose
~/.hermes/ Hermes harness - tools, agents, sessions
~/.hermes/hermes-agent/ Hermes agent source + venv
~/.hermes/scripts/ Fleet scripts (health, burns, watchdog)
~/.timmy/ Timmy workspace - Evennia, configs, skills
~/.timmy/evennia/timmy_world/ Evennia world (port 4000/4001)
~/.config/gitea/ Tokens for: timmy, claw-code, codex, fenrir, substratum, carnice
~/.config/telegram/ Special bot token
~/work/ Active work directories
~/code-claw/ Claw Code binary + workspace

Machine 2: EZRA (Forge)

Item Value
IP 143.198.27.163
Provider DigitalOcean
Cost ~$12/mo
DNS forge.alexanderwhitestone.com
Role Gitea server, DNS management

Services

Service Notes
Gitea forge.alexanderwhitestone.com, port 443 (nginx proxy)
Nginx Reverse proxy for Gitea
HTTPS Let's Encrypt cert (Apr 5 - Jul 4 2026)

Key Facts


Machine 3: ALLEGRO

Item Value
IP 167.99.126.228
Provider DigitalOcean
Cost ~$12/mo
Role Agent hosting

Known Services

Service Notes
Agents Agent processes (specific ones TBD)
SSH Access from Mac needs verification (issue #538)

Unresolved Issues

  • SSH access from Mac to Allegro not confirmed (timmy-home #538)

Machine 4: BEZALEL

Item Value
IP 159.203.146.185
Provider DigitalOcean
Cost ~$12/mo
DNS bezalel.alexanderwhitestone.com
Role Evennia world, agent hosting

Services

Service Notes
Evennia World running (needs config fix per #534)
Agent hosting Bezalel agent
Tailscale Not yet installed (#535)

Unresolved Issues

  • #534: Evennia settings have bad port tuples, DB is ready
  • #535: Tailscale not installed
  • #536: Evennia world needs themed rooms/characters

Network Topology

Internet ──→ forge.alexanderwhitestone.com (Ezra, 143.198.27.163)
         ──→ bezalel.alexanderwhitestone.com (Bezalel, 159.203.146.185)
         
Mac (10.1.10.77) ──→ Ezra (SSH/HTTPS)
                 ──→ Allegro (SSH - broken?)
                 ──→ Bezalel (SSH)
                 
Tailscale: Not installed on any VPS yet

Credential Inventory (NOT the secrets, just where they live)

Credential Location Used By
Gitea token (timmy) ~/.config/gitea/timmy-token Timmy API calls
Gitea token (generic) ~/.config/gitea/token General API access
Gitea token (claw-code) ~/.config/gitea/claw-code-token Code Claw worker
Gitea token (codex) ~/.config/gitea/codex-token Codex agent
Gitea token (fenrir) ~/.config/gitea/fenrir-token Fenrir agent
Gitea token (substratum) ~/.config/gitea/substratum-token Substratum agent
Gitea token (carnice) ~/.config/gitea/carnice-token Carnice agent
Telegram bot token ~/.config/telegram/special_bot @TimmysNexus_bot
OpenRouter key ~/.timmy/openrouter_key Model routing

Resource Baseline (Current State)

Compute Capacity (estimated)

Machine CPU RAM Est. Daily Compute Hours
Mac Local M3 Max (14c) 36GB ~4-6 hrs active use
Ezra Unknown Unknown Gitea only, minimal
Allegro Unknown Unknown Agent hosting
Bezalel Unknown Unknown Evennia + agent

Model Inference

Model Location Provider Status
hermes4:14b Local (Ollama) Ollama Running
qwen/qwen3.6-plus:free Cloud OpenRouter Active (this session)
qwen/qwen3-32b Cloud Groq Used by aider

Storage

Machine Total Used Free Utilization
Mac Local 926 Gi 624 Gi 302 Gi 32%
Ezra Unknown Unknown Unknown Unknown
Allegro Unknown Unknown Unknown Unknown
Bezalel Unknown Unknown Unknown Unknown

What We Don't Know Yet

  • CPU/RAM/disk on Ezra, Allegro, Bezalel (no inventory script yet)
  • Running processes on VPSes
  • Network paths between VPSes (no Tailscale yet)
  • SSH connectivity from Mac to Allegro
  • Backup state of any machine
  • Uptime baseline (not tracked)
  • Cost per agent per day (not tracked)

Dependencies

Service Depends On Risk if Down
Gitea Ezra, nginx, HTTPS Can't manage issues, PRs, or repos
Hermas agents Mac, Ollama, OpenRouter No AI work gets done
Evennia Bezalel VPS Game world down
Telegram bot Telegram API, Mac process No notifications
Code Claw heartbeat Mac, OpenRouter, Gitea No automated issue processing