diff --git a/graph/configurations/ct-300-claude-runner-two-tier-health-check-architecture-061011.md b/graph/configurations/ct-300-claude-runner-two-tier-health-check-architecture-061011.md new file mode 100644 index 00000000000..0bd9662e5bf --- /dev/null +++ b/graph/configurations/ct-300-claude-runner-two-tier-health-check-architecture-061011.md @@ -0,0 +1,43 @@ +--- +id: 06101183-a78b-4852-86eb-cae5557ace8c +type: configuration +title: "CT 300 claude-runner: Two-Tier Health Check Architecture" +tags: [ct300, claude-runner, server-diagnostics, health-check, n8n, monitoring, claude-home, infrastructure, configuration] +importance: 0.8 +confidence: 0.8 +created: "2026-03-01T14:16:30.152254+00:00" +updated: "2026-03-01T14:16:30.152254+00:00" +--- + +# CT 300 claude-runner: Two-Tier Health Check Architecture + +## System Overview +The headless Claude server diagnostics system runs on **CT 300** (hostname: `claude-runner`, IP: `10.10.0.148`). SSH alias is `claude-runner`. + +## Architecture +Two-tier system: + +### Tier 1: health_check.py (Pure Python) +- Triggered by **N8N on CT 210** on a schedule +- No Claude CLI dependency — runs fine standalone +- Checks **9 servers** via SSH: + - arr-stack, gitea, uptime-kuma, n8n, ubuntu-manticore, strat-database, pihole1, sba-bots, foundry +- Checks performed: container status, HTTP endpoints, disk/memory/load +- Exit codes: + - `0` = healthy + - `1` = auto-remediated + - `2` = escalate to Claude (Tier 2) + +### Tier 2: client.py (Claude Escalation) +- Intended for deeper diagnosis when Tier 1 returns exit code 2 +- **Currently non-functional**: Claude CLI is NOT installed on CT 300 +- Would require npm/node + Claude CLI installation to enable + +## Config Location +`~/.claude/skills/server-diagnostics/config.yaml` + +## Notifications +Discord webhooks for alerts/notifications. + +## Gap +Tier 2 cannot function until Claude CLI is installed on CT 300. See related memory on this gap.