Skip to main content

ARM Template Conventions

Git-Ape follows these conventions when generating and validating ARM templates.

Naming Conventions​

All resources follow the Cloud Adoption Framework (CAF) naming pattern:

{resource-type-abbreviation}-{project}-{environment}-{region}[-{instance}]
ResourceCAF PrefixExample
Resource Grouprgrg-webapp-prod-eastus
Function Appfuncfunc-api-dev-westus2
Storage Accountststwebappdev8k3m
App Service Planaspasp-webapp-prod-eastus
Web Appappapp-webapp-prod-eastus
SQL Serversqlsql-webapp-prod-eastus
Cosmos DBcosmoscosmos-webapp-prod-eastus
Key Vaultkvkv-webapp-prod-eus
Container Appcaca-api-prod-eastus

Use /azure-naming-research to look up constraints for any resource type.

Template Structure​

Every generated template includes:

  • Parameters section for configurable values
  • Outputs section returning resource IDs and endpoints
  • Standard tags on all resources:
{
"Environment": "dev|staging|prod",
"Project": "project-name",
"ManagedBy": "git-ape-agent",
"CreatedDate": "YYYY-MM-DD"
}

Security Baseline​

  • HTTPS-only for all web-facing resources
  • Managed identities (never connection strings or shared keys)
  • allowSharedKeyAccess: false on storage accounts
  • RBAC role assignments in templates
  • AAD-only auth for SQL databases
  • FTP disabled on App Services / Function Apps
  • Minimum TLS 1.2 on all resources
  • Key Vault references for secrets

Default Regions​

PriorityRegion
PrimaryEast US
SecondaryWest US 2
EuropeWest Europe

API Version Lookup​

Always use /azure-rest-api-reference to look up the correct API version before writing or modifying ARM template resources.