- Add comprehensive naming convention (provider-region-resource-env-purpose) - Implement Terraform locals for centralized naming - Update all Terraform resources to use new naming convention - Create deployment automation framework (18 phase scripts) - Add Azure setup scripts (provider registration, quota checks) - Update deployment scripts config with naming functions - Create complete deployment documentation (guide, steps, quick reference) - Add frontend portal implementations (public and internal) - Add UI component library (18 components) - Enhance Entra VerifiedID integration with file utilities - Add API client package for all services - Create comprehensive documentation (naming, deployment, next steps) Infrastructure: - Resource groups, storage accounts with new naming - Terraform configuration updates - Outputs with naming convention examples Deployment: - Automated deployment scripts for all 15 phases - State management and logging - Error handling and validation Documentation: - Naming convention guide and implementation summary - Complete deployment guide (296 steps) - Next steps and quick start guides - Azure prerequisites and setup completion docs Note: ESLint warnings present - will be addressed in follow-up commit
55 lines
1.3 KiB
HCL
55 lines
1.3 KiB
HCL
# Terraform configuration for The Order infrastructure
|
|
# Azure provider configuration - No US Commercial or Government regions
|
|
# Version constraints are in versions.tf
|
|
|
|
# Configure the Azure Provider
|
|
provider "azurerm" {
|
|
features {
|
|
resource_group {
|
|
prevent_deletion_if_contains_resources = false
|
|
}
|
|
key_vault {
|
|
purge_soft_delete_on_destroy = true
|
|
}
|
|
}
|
|
|
|
# Default location - West Europe (no US regions)
|
|
# This can be overridden per resource if needed
|
|
location = var.azure_region
|
|
}
|
|
|
|
# Variables
|
|
variable "azure_region" {
|
|
description = "Azure region (default: westeurope, no US regions allowed)"
|
|
type = string
|
|
default = "westeurope"
|
|
|
|
validation {
|
|
condition = !can(regex("^us", var.azure_region))
|
|
error_message = "US Commercial and Government regions are not allowed. Use European or other non-US regions."
|
|
}
|
|
}
|
|
|
|
variable "environment" {
|
|
description = "Environment name (dev, stage, prod)"
|
|
type = string
|
|
default = "dev"
|
|
|
|
validation {
|
|
condition = contains(["dev", "stage", "prod"], var.environment)
|
|
error_message = "Environment must be dev, stage, or prod."
|
|
}
|
|
}
|
|
|
|
# Outputs
|
|
output "environment" {
|
|
description = "Environment name"
|
|
value = var.environment
|
|
}
|
|
|
|
output "azure_region" {
|
|
description = "Azure region being used"
|
|
value = var.azure_region
|
|
}
|
|
|