Files
smom-dbis-138/terraform/variables.tf

123 lines
3.2 KiB
Terraform
Raw Normal View History

# 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"
}
}