# Variable definitions for Terraform configuration variable "environment" { description = "Environment (prod, dev, test, staging)" type = string default = "prod" validation { condition = contains(["prod", "dev", "test", "staging"], var.environment) error_message = "Environment must be one of: prod, dev, test, staging" } } variable "resource_group_name" { description = "Name of the Azure Resource Group (legacy single RG deployment). If empty and use_well_architected is false, will use default naming." type = string default = "" } variable "location" { description = "Azure region for resources" type = string default = "westeurope" } variable "cluster_name" { description = "Name of the AKS cluster" type = string default = "defi-oracle-aks" } variable "kubernetes_version" { description = "Kubernetes version" type = string default = "1.28" } variable "node_count" { description = "Number of nodes per node pool" type = map(number) default = { system = 3 validators = 4 sentries = 3 rpc = 3 } } variable "vm_size" { description = "VM size for node pools" type = map(string) default = { system = "Standard_D2s_v3" validators = "Standard_D4s_v3" sentries = "Standard_D4s_v3" rpc = "Standard_D8s_v3" } } variable "enable_multi_region" { description = "Enable multi-region deployment using different VM families per region" type = bool default = false } # Legacy/experimental multi-region (Dv2/Dsv6) deployment. # NOTE: The active, quota-safe 37-region Dplsv6 design uses `enable_multi_region` # together with `multi-region-global.tf`. This legacy flag is kept only for # historical/testing purposes and should remain false in production. variable "enable_multi_region_legacy" { description = "Enable legacy multi-region deployment defined in multi-region.tf (Dv2/Dsv6 experiment)" type = bool default = false } variable "use_well_architected" { description = "Use Well-Architected Framework structure (multi-resource-group)" type = bool default = false } variable "network_resource_group_name" { description = "Name of the network resource group (Well-Architected Framework)" type = string default = "" } variable "compute_resource_group_name" { description = "Name of the compute resource group (Well-Architected Framework)" type = string default = "" } variable "storage_resource_group_name" { description = "Name of the storage resource group (Well-Architected Framework)" type = string default = "" } variable "security_resource_group_name" { description = "Name of the security resource group (Well-Architected Framework)" type = string default = "" } variable "key_vault_name" { description = "Name of the Key Vault" type = string default = "" } variable "tags" { description = "Tags to apply to resources" type = map(string) default = { Environment = "production" Project = "DeFi Oracle Meta Mainnet" ChainID = "138" ManagedBy = "Terraform" CostCenter = "Blockchain" Owner = "DevOps Team" } }