Skip to content

Architecture

Fontana deploys as two cluster layers on each host: one platform cluster for shared edge and stateless services, and one workspace cluster per tenant for the full application stack. That layout is the same on managed cloud, customer VPC, and self-hosted installs.

Shared across all workspaces on the host:

  • Edge ingress and the welcome gateway (routing to workspace URLs)
  • Observability - HyperDX/OTLP collection and operator dashboards
  • Docling - shared document parsing for PDF and office uploads
  • OpenSandbox - isolated code execution for agent MCP tooling
  • Platform health checks - service uptime probes for operators

The platform cluster does not hold workspace databases, Vault secrets, or workflow datasets.

Each workspace is a complete Fontana environment:

AreaComponents
ApplicationFlow, Convex backend, workflow engine, PyAirbyte connector runtime
DataPostgres, encrypted workflow file store, Convex persistence
SecurityHashiCorp Vault (BYOK, connector secrets), Zitadel identity
Observabilityobservability-api (operational telemetry and security audit ingress)
HealthIn-cluster probes for Flow, engine, Convex, Vault, and dependencies

There is no shared database or secret store between workspace clusters. SSO, RBAC, AI configuration, and run data stay inside the workspace boundary unless you configure egress.

  • Blast radius - a compromise or misconfiguration in one workspace does not grant access to another cluster’s data plane.
  • Upgrades - platform and workspace releases can be reconciled independently on the host while preserving per-workspace volumes (see Backup and restore).
  • Compliance narrative - isolation, encryption at rest, and audit routing map cleanly to this two-layer model (see Security and Compliance evidence).