Files
smom-dbis-138/terraform/variables.tf
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control.
- Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities.
- Created .gitmodules to include OpenZeppelin contracts as a submodule.
- Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment.
- Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks.
- Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring.
- Created scripts for resource import and usage validation across non-US regions.
- Added tests for CCIP error handling and integration to ensure robust functionality.
- Included various new files and directories for the orchestration portal and deployment scripts.
2025-12-12 14:57:48 -08:00

123 lines
3.2 KiB
HCL

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