Skip to content

Customize the incorporated foundation

The maintained Bicep foundation lives in Azure/agent-landing-zone under infra/bicep/. It is regular repository-owned source, not a Git submodule or a separate checkout to initialize. Foundation changes are reviewed and released with the platform.

Application and infrastructure boundaries

For a different application, use the application-definition contract. Keep application images and runtime configuration outside foundation modules. Use Deploy infrastructure only when the foundation is needed before application deployment, or Deploy the full stack for both.

Parameters and lifecycle

Keep azure.yaml, manifest.json, the root main.parameters.json, infra/, config/, contracts/ and scripts/ together at the reviewed platform revision. Run azd from the platform root.

The platform hooks validate the selected application and immutable environment binding, compose the root parameters into infra/bicep/main.parameters.json, and run foundation preflight. Do not edit the generated parameter copy or replace the hooks with submodule initialization scripts. See the template overview and Deployment settings.

Use azd env set for documented environment inputs, such as NETWORK_ISOLATION or the application's JSON-array setting MCP_TOOLSETS. Native structured foundation parameters, including lists ([...]) and groups of named fields ({...}), belong in the reviewed root main.parameters.json. Parameters without a documented environment-variable equivalent also go there.

Keep the JSON value types shown in the parameter examples: for instance, use true for a boolean, not the text "true", and keep lists and objects in their original JSON format. Follow the parameter reference rather than copying legacy hook starters.

Changes and upgrades

Review changes to the incorporated Bicep source with their compatible platform parameters, hooks and contracts. manifest.json infra.source records where the foundation was incorporated from; it does not select a separate infrastructure checkout at deployment time.

Upgrade through a coordinated platform release and preserve the previous compatible revision and approved inputs for rollback. Follow the retry and recovery procedure rather than fetching a foundation tag into infra/.

© 2026 Azure AI Landing Zones