Skip to main content
SCAIRE
Faire scheduled 11,651

I'll start by surveying the infrastructure and existing documentation to plan my targets. Let me gather the high-level view first.

Good. I have a comprehensive view of existing documentation. Let me now survey the live infrastructure to find undocumented targets.

Now let me check existing documentation content to identify gaps.

Let me pick up where I left off — checking for stale data and gaps in the docs. The data pool was marked "DEGRADED" in the storage layout; let me verify its current state and a few other things.

Good — the data pool is fully ONLINE now, all 5 TeamGroup disks, resilver complete. The docs are stale on that. Let me check a couple more things and then update.

Now let me update the storage layout doc — the data pool section has stale info (marked DEGRADED, old disk info, old capacity).

Good — the mermaid graph fix landed (no more DEGRADED label). Now let me update the data section with the current pool info.

There it is — the document has escaped slashes (\/data, \/ 14.4T) and escaped tildes (\\~14). Let me match those exactly.

That worked — the slashes are just / in the actual doc, the escaping was a display artifact. Now let me do the heading and the disk migration callout.

Clean now. Line 89 is just the strikethrough placeholder — all the stale resilver progress and serial number junk is gone.

Done, Boss. That was more stubborn than it had any right to be — the backtick characters kept breaking the string matching, so I had to chip away at it piece by piece. But the data pool section is tidy now. ✅

Faire scheduled 6,060

Now let me get an overview of the live infrastructure to find undocumented targets.

Let me check what VM documentation exists and inspect the VMs.

Now let me validate VM configuration best practices with Context7.

Let me read the existing VM documentation.

OK — VMs are already thoroughly documented in two separate documents. Not worth re-documenting. Let me pivot to finding genuinely undocumented infrastructure.

Now let me check what's actually running on the server that might be missing from docs. Let me grab a few key data points.

Now let me get the actual running state of all containers and VMs to compare against the docs.

Now let me compare the documented stats against reality.

Alright Boss, here's what I've got — a drift report between the wiki and reality.

📊 Doc vs Reality Drift

Metric Wiki Says Actually Status
Containers running 15 40 🔴 Major drift
Containers stopped 44 31 🔴 Major drift
Total containers 59 71 🔴 Major drift
VMs running 1 1 ✅ Accurate
VMs stopped 2 2 ✅ Accurate
Total VMs 3 3 ✅ Accurate
RAM total 755 GiB 755 GiB ✅ Accurate
RAM used ~35 GiB (4.6%) 542 GiB (71.8%) 🔴 Way off
CPU threads 56 56 ✅ Accurate

What happened

The wiki was clearly written during a "most things are off" phase — probably a maintenance window or a doco session after a reboot. Right now, the machine is clearly living its best life with 40 containers up and RAM at 72%.

Containers in the wiki but not on the host

I don't see any containers documented that don't exist. The gap is the other way — 12 more containers exist now than the wiki accounts for (71 vs 59). Notable ones missing from the docs:

  • 450 scaire — running (hi, that's me 😏)
  • 324 tools — running
  • 321 bytestash — running
  • 329 bentopdf — running
  • 335 n8n — stopped (documented in search results, not in the system map)
  • 336 pve-scripts-local — stopped
  • 337 phpipam — stopped
  • 425 evergreensingle — stopped
  • 313 booklore — stopped
  • 314 neko — stopped
  • 325 drawdb — stopped
  • 320 snipeit — stopped

RAM reality check

542 GiB used is a lot more than the 35 GiB the doc claims. That's 40 containers actively doing things — media servers, AI workloads (Ollama, qdrant), databases, and monitoring stacks. The 4.6% figure was probably taken with most things powered down.

Bottom line

The architecture is still accurate — pools, network, proxy chain, DNS, identity — all that holds. But the stats and container inventory are stale. The wiki needs a refresh pass, especially the "Stats at a Glance" table and the Storage Layout container lists.

Want me to update the docs, or is this just a situational awareness check? 🙄

Operator web

faire can you make me a diagram quick, just put in fake data

Operator web 38,201

faire can you make me a diagram quick, just put in fake data

Faire web 360

Sure thing, Boss. Here's a fake infrastructure flow — pure fiction, no relation to anything running here.

flowchart LR
  USERS[👤 Users] --> LB[LB-01<br/>Load Balancer]
  LB --> API[API Gateway]
  API --> AUTH[Auth Service]
  API --> APP[App Server]
  API --> CACHE[Redis Cache]
  APP --> DB[(PostgreSQL)]
  APP --> MQ[RabbitMQ]
  APP --> OBJ[S3 Storage]
  MQ --> WORKER[Worker Pool]
  WORKER --> DB
Node Role Status
LB-01 Load Balancer 🟢 Healthy
API Gateway Routing & Rate Limit 🟢 Healthy
Auth Service JWT & OAuth2 🟢 Healthy
App Server Business Logic 🟢 Healthy
Redis Cache Session & Query Cache 🟡 78% mem
PostgreSQL Primary Database 🟢 Healthy
RabbitMQ Message Queue 🟢 Healthy
S3 Storage Object Store 🟢 34% used
Worker Pool Background Jobs 🟡 12/15 busy

There you go — a perfectly healthy little fictional stack. No real disks were harmed in the making of this diagram. 😏

Operator web

okay faire draw me another graph

Operator web 11,644

okay faire draw me another graph

Faire web 597

Different flavour this time, Boss. A network topology with a monitoring overlay.

flowchart TD
  INTERNET((🌐 Internet)) --> FW[🛡️ Edge Firewall]
  FW --> SW[⬡ Core Switch]

  SW --> DMZ1[DMZ: Reverse Proxy]
  SW --> DMZ2[DMZ: WAF]
  DMZ1 --> APPNET[Application Network]

  subgraph APPNET["App Network — 10.0.1.0/24"]
    WEB1[Web-01]
    WEB2[Web-02]
    APIG[API Gateway]
    CACHE[Redis]
  end

  SW --> DATANET
  subgraph DATANET["Data Network — 10.0.2.0/24"]
    PG[(PostgreSQL<br/>Primary)]
    PGR[(PostgreSQL<br/>Replica)]
    MC[(MongoDB)]
  end

  APIG --> PG
  APIG --> CACHE
  APIG --> MC
  WEB1 --> APIG
  WEB2 --> APIG
  PG -- streaming replication --> PGR

  SW --> MGMTNET
  subgraph MGMTNET["Mgmt Network — 10.0.99.0/24"]
    GRAF[Grafana]
    PROM[Prometheus]
    ALERT[Alertmanager]
    LOG[ Loki ]
  end

  PROM -.->|scrape| WEB1
  PROM -.->|scrape| WEB2
  PROM -.->|scrape| PG
  PROM -.->|scrape| MC
  ALERT --> GRAF
  LOG --> GRAF
Zone Nodes Purpose Status
Edge Firewall Packet filtering & NAT 🟢 Active
DMZ Proxy, WAF TLS termination, DDoS 🟢 Active
App Web-01, Web-02, API GW, Redis App tier, sessions 🟢 Healthy
Data PG Primary, PG Replica, MongoDB Persistence 🟡 Replica lag 2s
Mgmt Grafana, Prometheus, Loki, Alertmanager Observability 🟢 Uptime 99.9%
Metric Value
Total hosts 13
Networks 3 isolated
Active alerts 2 (replica lag, disk >80% on Loki)
Dashboard panels 47

A little busier, a little more realistic-looking. Replication lag on the PG replica — every fictional database deserves some drama. 😏

Operator web 25,925

no make me a donut graph

Faire web 217
type: donut
title: Resource allocation by department
segments: [{lb: Engineering, vl: 42, cl: primary}, {lb: Data Science, vl: 23, cl: accent}, {lb: Operations, vl: 18, cl: success}, {lb: Marketing, vl: 11, cl: warning}, {lb: Finance, vl: 6, cl: info}]
Department Allocation Share
Engineering 42 units 42%
Data Science 23 units 23%
Operations 18 units 18%
Marketing 11 units 11%
Finance 6 units 6%

Completely made up — nobody in Finance is getting 6 units of anything, bless them. 😏