- 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.
110 lines
3.2 KiB
HCL
110 lines
3.2 KiB
HCL
# Variables for Phase 1 Deployment
|
|
|
|
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 "location" {
|
|
description = "Azure region for admin resources (West Europe)"
|
|
type = string
|
|
default = "westeurope"
|
|
}
|
|
|
|
variable "resource_group_name" {
|
|
description = "Name of the admin resource group (West Europe). If empty, will use default naming."
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "key_vault_name" {
|
|
description = "Name of the Key Vault (West Europe). If empty, will use default naming."
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "vm_admin_username" {
|
|
description = "Admin username for VMs"
|
|
type = string
|
|
default = "besuadmin"
|
|
}
|
|
|
|
variable "ssh_public_key" {
|
|
description = "SSH public key for VM access"
|
|
type = string
|
|
sensitive = true
|
|
}
|
|
|
|
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 "security_resource_group_name" {
|
|
description = "Name of the security resource group (Well-Architected Framework)"
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "tags" {
|
|
description = "Tags to apply to all resources"
|
|
type = map(string)
|
|
default = {
|
|
Environment = "production"
|
|
Project = "DeFi Oracle Meta Mainnet"
|
|
ChainID = "138"
|
|
ManagedBy = "Terraform"
|
|
CostCenter = "Blockchain"
|
|
Owner = "DevOps Team"
|
|
}
|
|
}
|
|
|
|
variable "allowed_ssh_ips" {
|
|
description = "List of IP addresses/CIDR blocks allowed for SSH access. If empty, allows from anywhere (not recommended for production)."
|
|
type = list(string)
|
|
default = []
|
|
}
|
|
|
|
variable "allowed_rpc_ips" {
|
|
description = "List of IP addresses/CIDR blocks allowed for RPC access (Nginx proxy subnet or Cloudflare Tunnel IPs). If empty, allows from anywhere (not recommended for production)."
|
|
type = list(string)
|
|
default = []
|
|
}
|
|
|
|
variable "allowed_p2p_ips" {
|
|
description = "List of IP addresses/CIDR blocks allowed for P2P access. If empty, allows from anywhere (not recommended for production)."
|
|
type = list(string)
|
|
default = []
|
|
}
|
|
|
|
variable "allowed_metrics_ips" {
|
|
description = "List of IP addresses/CIDR blocks allowed for metrics access. If empty, allows from anywhere (not recommended for production)."
|
|
type = list(string)
|
|
default = []
|
|
}
|
|
|
|
variable "key_vault_allowed_ips" {
|
|
description = "List of IP addresses allowed to access Key Vault (for network ACLs). Required if environment is 'prod' and Key Vault default_action is 'Deny'."
|
|
type = list(string)
|
|
default = []
|
|
}
|
|
|
|
variable "key_vault_allowed_subnets" {
|
|
description = "List of subnet IDs allowed to access Key Vault (for network ACLs). Required if environment is 'prod' and Key Vault default_action is 'Deny'."
|
|
type = list(string)
|
|
default = []
|
|
}
|
|
|