- 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
67 lines
1.7 KiB
HCL
67 lines
1.7 KiB
HCL
# Terraform variables for The Order infrastructure
|
|
|
|
variable "environment" {
|
|
description = "Environment name (dev, stage, prod)"
|
|
type = string
|
|
validation {
|
|
condition = contains(["dev", "stage", "prod"], var.environment)
|
|
error_message = "Environment must be dev, stage, or prod."
|
|
}
|
|
}
|
|
|
|
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."
|
|
}
|
|
|
|
validation {
|
|
condition = contains([
|
|
"westeurope", "northeurope", "uksouth", "switzerlandnorth",
|
|
"norwayeast", "francecentral", "germanywestcentral"
|
|
], var.azure_region)
|
|
error_message = "Region must be one of the supported non-US regions. See naming convention documentation."
|
|
}
|
|
}
|
|
|
|
variable "project_name" {
|
|
description = "Project name"
|
|
type = string
|
|
default = "the-order"
|
|
}
|
|
|
|
variable "domain_name" {
|
|
description = "Domain name for the application"
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "enable_monitoring" {
|
|
description = "Enable monitoring and observability"
|
|
type = bool
|
|
default = true
|
|
}
|
|
|
|
variable "enable_logging" {
|
|
description = "Enable centralized logging"
|
|
type = bool
|
|
default = true
|
|
}
|
|
|
|
variable "create_terraform_state_rg" {
|
|
description = "Create resource group for Terraform state storage"
|
|
type = bool
|
|
default = true
|
|
}
|
|
|
|
variable "create_terraform_state_storage" {
|
|
description = "Create storage account for Terraform state backend"
|
|
type = bool
|
|
default = true
|
|
}
|
|
|