Skip to main content

Azure

Overview

The repository deploys several independent HTTP and worker components, not one single application image. Depending on the project profile, an environment can include the Mastra runtime, main Function App, ingestion web and Function apps, Admin UI, Widget, Handbook App, documentation sites, health aggregator, Grafana, and diagnostics service.

Container images are stored in Azure Container Registry and most HTTP services run as Linux-container Azure App Services. Function workloads run as containerized Azure Function Apps. Azure SQL, Storage, Key Vault, Application Insights/Log Analytics, API Management, AI services, Document Intelligence, Content Safety, and optional AI Search support the deployed applications.

External HTTP traffic normally enters through APIM. The app services use managed identities for supported downstream Azure services. GitHub Actions uses environment-scoped OIDC credentials for deployment.

Configuration ownership

No single file describes an environment completely:

  • environments/<project>/<environment>.yml records the resolved runtime, gateway, deployment, write-guard, and observability contract;
  • .github/config/projects/<project>.yml controls promotion/project behavior;
  • azure_template/profiles/<project>.json selects infrastructure components;
  • azure_template/environments/*.bicepparam supplies environment-tier Bicep defaults;
  • azure_template/main.bicep is the infrastructure parameter contract.

Review the project config and profile together when adding or removing a deployable component.

Supported environment records

Checked-in declarations currently cover shared testing/test; K12, TAP, and SDAC dev/staging/prod; Handbook dev/test/staging/prod; and RCV dev/prod. A declaration may be planned or disabled and therefore does not prove that the environment is deployed or operational.