Skip to content

Live Runtime Topology

Layer 1 of the architecture documentation pipeline. This is the only layer that reflects what the system is actually doing right now, not what the code says it should do.


What it is

Azure Application Insights automatically maps every live service call — HTTP dependencies, database queries, outbound API requests — into an Application Map. Each node is a cloudRole tag set in the SDK. No diagram to maintain; Azure refreshes it continuously from telemetry.

Roles currently instrumented:

Role tagComponentSet in
Heritage APINode.js / Fastify Container Appapps/api/src/lib/telemetry.ts:42
Heritage WebReact SPA (Azure SWA)apps/web/src/lib/analytics.ts:26

Outbound dependencies the SDK auto-labels from hostname:

  • Azure Database for PostgreSQL (*.postgres.database.azure.com)
  • Azure Blob Storage (*.blob.core.windows.net)
  • Clerk authentication (clerk.com / *.clerk.accounts.dev)
  • YouTube Embed (youtube.com) — via CloudflareStreamAdapter fallback

How to view it

  1. Go to the Azure PortalResource groupsrg-hch-prod-eusApplication Insights resource appi-hch-prod
  2. In the left nav, click Application Map
  3. The shared dashboard dash-hch-prod-eus also has an Application Map tile pinned (top-right position, provisioned in infrastructure/modules/observability.bicep)

To generate live traffic for a fresh map snapshot, trigger the /health endpoint or log in and navigate through the app — App Insights typically renders new data within 2–5 minutes.


Prerequisites

The map only populates when APPLICATIONINSIGHTS_CONNECTION_STRING is set in the Container App environment. Verify this is present in the appinsights-connection-string Container App secret (see AB#4542). The web SPA reads VITE_APPINSIGHTS_CONNECTION_STRING at build time.


Relationship to the static diagrams

The Application Map is the ground truth for runtime service topology. The auto-generated dependency graph (Layer 2) shows import-time relationships between source modules — different angle, complementary view. Use the Application Map to diagnose live performance or dependency issues; use the import graph to enforce architectural boundaries at code review time.

Heritage Community Hub — Internal. Access restricted via Cloudflare Access + Entra ID.