ConX Infrastructure¶
Terraform infrastructure for Consumer Experience (ConX) platform on Azure.
Prerequisites¶
- Terraform (no specific version required)
- Azure CLI >= 2.50.0
- Azure subscription access
- Git
Provider Versions¶
| Provider | Version | Purpose |
|---|---|---|
| azurerm | ~> 3.117.1 | Main Azure resources |
| azuread | ~> 2.30.0 | Azure AD resources |
| random | ~> 3.5.1 | Random resource generation |
Note: Multiple azurerm provider aliases used for cross-subscription resources
Overview¶
Multi-environment Terraform configurations for deploying the Consumer Experience infrastructure including web applications, APIs, databases, networking, monitoring, and Front Door.
Repository Structure¶
conx-infrastructure/
├── environments/ # Environment-specific configurations (dev/qa/uat/prod)
├── modules/ # Reusable Terraform modules
│ ├── azure_monitor/ # Monitoring and alerting
│ ├── ConXAdmin/ # ConX Admin application
│ └── ConXHomePortal/# ConX Home Portal
└── resources/ # Main infrastructure resources module
Environments¶
| Environment | Subscription | Purpose |
|---|---|---|
| dev | Enterprise Dev/Test | Development and testing |
| qa | Enterprise Dev/Test | Quality assurance |
| uat | Microsoft Azure Enterprise | User acceptance testing |
| prod | Microsoft Azure Enterprise | Production workloads |
Quick Reference¶
Authentication¶
az login --tenant 57d88166-f247-4dee-a6f9-e6359f96ff2c
az account set --subscription <SUBSCRIPTION>
cd environments/dev
terraform init
Enterprise Dev/Test
- <dev-qa-subscription-id>
UAT/Prod Subscription:
- Microsoft Azure Enterprise
- <uat-prod-subscription-id>
State Management¶
- Storage Account:
cmgsharedapptfstore<env>01 - Container:
conx - State files:
<env>.conx-infrastructure.tfstate
Naming Convention¶
{Company}{Product}{ResourceType}{Environment}01
Examples:
- CmgCxRgDev01 - Resource Group
- CmgCxUiAppDev01 - UI App Service
- CmgCxSqlDev01 - SQL Server
Required Tags¶
- Budget:
Consumer Experience - Owner:
CmgAppTeam - Environment:
DEV/QA/UAT/PROD - Product:
Consumer Experience - Application:
Consumer Experience
Modules¶
- azure_monitor - Monitoring and alerting suite
- ConXAdmin - ConX Admin application infrastructure
- ConXHomePortal - ConX Home Portal infrastructure
- resources - Main infrastructure resources
Security¶
- Secrets stored in Azure Key Vault
- Private endpoints for PaaS services
- VNet integration for App Services
- Network isolation via VNets and subnets
Documentation¶
- CLAUDE.md - Claude Code guidance (architecture, patterns, workflows)
- BEST_PRACTICES.md - Terraform best practices for this project
- EXAMPLES.md - Working examples and templates
Support¶
For issues or questions, contact the CMG DevOps team.