Infra Tree 03-05-2026 — UPDATE
Drag the boxes to reorganise. Arrows stay connected. Positions are saved in your browser.
The website (Cloudflare Pages) is the core of the system (white outline). Colours = category. Dashed lines = monitoring / indirect link.
Double-click a box to rename it. Use + Add independent node to add custom nodes in the bottom-right cluster (drag them anywhere afterwards).
The 7 branches of the trunk
Each branch groups tools by function. The trunk is the website (Cloudflare Pages). The leaves are the individual tools.
Storage branch
Cloudflare D1 ↔ Pages (read/write, densest link)
Cloudflare R2 ← D1 (monthly backups via worker)
Auth branch
Cloudflare Access → Pages (gates the admin routes)
Cloudflare Turnstile ← Pages (anti-bot on forms)
Network branch
Cloudflare DNS → Pages (routes traffic)
CF DMARC Mgmt ← DNS (reads DMARC records)
Email branch
Resend ← Pages (transactional mail)
Kit ← Pages (newsletter)
Postmark DMARC ← DNS (monitoring #2)
Postmark Spam Check ··· AL (manual pre-broadcast test)
Payment branch
Stripe → Pages (coaching webhook)
LemonSqueezy → Pages (Manifesto webhook)
Booking branch
Cal.com → Pages (booking webhook) + → Google Calendar (sync)
Google Calendar ← Pages (read via OAuth)
Operator branch
Terminal (macOS) → Wrangler (deploy, D1 queries, secrets)
Terminal → GitHub (git push/pull on private repos)
UptimeRobot ··· Pages (external HTTP monitoring)
Disconnected cluster
Notion ↔ n8n ↔ PostFast
Substack ← Pages (RSS read for the Library)
No runtime-critical link to the site. If you cut this cluster, the site still runs (except the Library which loses its Substack feed).
Quick read — who's connected to whom
10 tools touch the site directly: D1 (read/write), Access (gates), Turnstile (calls), DNS (routes), Resend (API), Kit (API), Stripe (webhook), LemonSqueezy (webhook), Cal.com (webhook), Google Calendar (OAuth API), Substack (RSS read).
6 peripheral tools: R2 (downstream of D1), CF DMARC Mgmt + Postmark DMARC (monitor Resend & Kit), Postmark Spam Check (manual on-demand test before Kit broadcasts), UptimeRobot (external HTTP monitoring). The Notion / n8n / PostFast cluster is isolated from the EO site.
3 operator tools: Terminal (macOS) drives Wrangler (deploy, D1, secrets) and GitHub (private repos). It's the human control layer — if Terminal breaks, no more deploys or admin work.
DNS is a silent hub: 6 tools depend on it (Pages, Access, Resend, Kit, CF DMARC Mgmt, Postmark DMARC). If the DNS config breaks, it cascades — and the order of damage isn't obvious.
Full tool list
| Tool | Category | Role | If it breaks... |
|---|---|---|---|
| Cloudflare Pages | Cloudflare | Hosts eliteoutsiders.com and tools.eliteoutsiders.com | Everything breaks — both the public site and the admin tooling go offline |
| Cloudflare D1 | Storage | Shared SQL database | No more reads/writes, cascading failures across the stack |
| Cloudflare R2 | Storage | Stores monthly D1 backups | Backups lost (R2 encrypts on Cloudflare's side) |
| Cloudflare Access | Auth | Gates admin dashboard routes (JWT) | No more access to tools.eliteoutsiders.com |
| Cloudflare Turnstile | Auth | Anti-bot filter on public forms | No bot protection, forms still work |
| Cloudflare DNS | Network | Central directory (routing + SPF/DKIM/DMARC records) | Cascade: Pages, Access, emails, monitoring — everything breaks |
| CF DMARC Management | Network | DMARC monitoring dashboard #1 | Loss of domain-spoof visibility (Postmark takes over) |
| Resend | Transactional email (Trauma Map, confirmations, alerts) | Visitors no longer receive their quiz results | |
| Kit | Newsletter + post-quiz marketing sequences (V4 API) | Newsletter broken, sequences stop firing | |
| Postmark DMARC | DMARC monitoring dashboard #2 (weekly digest) | No more weekly digest (CF DMARC Mgmt takes over) | |
| Postmark Spam Check | Manual SpamAssassin test before Kit broadcast (score 0–10, target ≤2) | Not critical — ad-hoc tool, AL eyeballs spam score otherwise | |
| Stripe | Payment | High-ticket coaching payments | No more coaching revenue collected |
| LemonSqueezy | Payment | Manifesto info-product payments | No more Manifesto revenue collected |
| Cal.com | Booking | 3 booking types from the site | No more bookings from the site |
| Google Calendar | Calendar | AL's admin calendar (read by alsboard) | Alsboard no longer shows upcoming meetings |
| Notion | Doc | Source-of-truth documentation (this infra map) | You lose the docs, the code keeps working |
| n8n | Automation | Side automations (personal VPS) | Side workflows broken, the site keeps running |
| PostFast | Automation | Shorts publishing tool | Shorts publishing breaks, the site keeps running |
| Substack | Content | Long-form newsletter, RSS read by the site's Library | Library page goes empty (rest of the site still works) |
| Terminal (macOS) | Operator | Local CLI — drives Wrangler, Git, npm, curl | No more deploys or infra admin (live site continues) |
| Wrangler (CF CLI) | Operator | Deploys Pages, queries D1, manages secrets | No more deploys or manual DB queries |
| GitHub | Operator | Private repos (source code + history) | No more versioning or collaboration (live site continues) |
| UptimeRobot | Monitoring | External HTTP monitoring (alerts when the site goes down) | No automatic downtime alerts (the site itself still runs) |
Links to the full documentation
→ Notion: Infra EO — plain-French overview (for AL) · the 5-minute teaching brief
→ Notion: Infra EO — 3-layer reference · technical docs chaptered by service