- 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.
123 lines
3.2 KiB
HCL
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"
|
|
}
|
|
}
|