Documentation Index
Fetch the complete documentation index at: https://enterprise-docs.crewai.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Use this guide to provision baseline Azure infrastructure for CrewAI Platform with Terraform, then continue with Helm installation. This flow aligns with the Azure Terraform example in the installer and covers:- AKS cluster
- Azure Database for PostgreSQL Flexible Server
- Azure Storage for platform data and logs
- Azure Container Registry for crew image builds
- Application Gateway integration for ingress
Prerequisites
- Terraform
>= 1.13.4 - Azure CLI installed and authenticated
kubectland Helm installed- Azure subscription permissions to create compute, network, database, storage, registry, and identity resources
- Sufficient regional quotas for AKS and networking components
Step 1: Authenticate and Select Subscription
Step 2: Configure Terraform State
From yourcrewai-installer checkout, open terraform/examples/azure/main.tf.
The example uses an Azure Storage backend for remote state:
- Create state storage before running
terraform init. - For temporary testing only, you can comment out the backend block and use local state.
Step 3: Configure Variables
resource_group_namelocationdb_server_name(globally unique)data_storage_account_name(globally unique, lowercase alphanumeric)logs_storage_account_name(globally unique, lowercase alphanumeric)
Step 4: Apply Infrastructure
kubectl using Terraform output:
Step 5: Map Terraform Outputs to Helm Values
Use Terraform outputs to populate yourmy-values.yaml:
database_server_fqdn->envVars.DB_HOSTregistry_login_server->envVars.CREW_IMAGE_REGISTRY_OVERRIDEdata_storage_account_name->envVars.AZURE_STORAGE_ACCOUNT_NAME
secrets.AZURE_STORAGE_ACCESS_KEY.
Continue with the Installation Guide.
Step 6: Destroy Safely (When Needed)
Beforeterraform destroy, delete Kubernetes Ingress resources managed through AGIC/Application Gateway integration.
If Ingress resources remain, destroy can fail or hang due to remaining gateway dependencies.
Troubleshooting Notes
- If deployment fails with quota errors, request increases before retrying.
- If
kubectlcannot reach the AKS API server, verify your source IP is authorized. - If image pushes fail, validate
envVars.CREW_IMAGE_REGISTRY_OVERRIDEpoints to a writable ACR registry path.
