Appearance
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 tag | Component | Set in |
|---|---|---|
Heritage API | Node.js / Fastify Container App | apps/api/src/lib/telemetry.ts:42 |
Heritage Web | React 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) — viaCloudflareStreamAdapterfallback
How to view it
- Go to the Azure Portal → Resource groups →
rg-hch-prod-eus→ Application Insights resourceappi-hch-prod - In the left nav, click Application Map
- The shared dashboard
dash-hch-prod-eusalso has an Application Map tile pinned (top-right position, provisioned ininfrastructure/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.