Files
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

193 lines
4.4 KiB
HCL

# Variables for Multi-Cloud Deployment
variable "environment" {
description = "Environment name (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 "deployment_strategy" {
description = "Deployment strategy (blue-green, canary, rolling)"
type = string
default = "blue-green"
validation {
condition = contains(["blue-green", "canary", "rolling"], var.deployment_strategy)
error_message = "Deployment strategy must be one of: blue-green, canary, rolling"
}
}
variable "enable_azure_arc" {
description = "Enable Azure Arc for hybrid management"
type = bool
default = true
}
variable "enable_service_mesh" {
description = "Enable service mesh for cross-cloud communication"
type = bool
default = true
}
variable "service_mesh_provider" {
description = "Service mesh provider (istio, linkerd, kuma)"
type = string
default = "istio"
validation {
condition = contains(["istio", "linkerd", "kuma"], var.service_mesh_provider)
error_message = "Service mesh provider must be one of: istio, linkerd, kuma"
}
}
variable "secrets_provider" {
description = "Primary secrets management provider"
type = string
default = "vault"
validation {
condition = contains(["vault", "azure-keyvault", "aws-secrets-manager", "gcp-secret-manager"], var.secrets_provider)
error_message = "Secrets provider must be one of: vault, azure-keyvault, aws-secrets-manager, gcp-secret-manager"
}
}
variable "vault_address" {
description = "HashiCorp Vault address (if using Vault)"
type = string
default = ""
}
variable "vault_token" {
description = "HashiCorp Vault token (if using Vault)"
type = string
default = ""
sensitive = true
}
# Azure-specific variables
variable "azure_subscription_id" {
description = "Azure subscription ID"
type = string
default = ""
}
variable "azure_tenant_id" {
description = "Azure tenant ID"
type = string
default = ""
}
# AWS-specific variables
variable "aws_access_key_id" {
description = "AWS access key ID"
type = string
default = ""
sensitive = true
}
variable "aws_secret_access_key" {
description = "AWS secret access key"
type = string
default = ""
sensitive = true
}
variable "aws_default_region" {
description = "AWS default region"
type = string
default = "us-west-2"
}
# GCP-specific variables
variable "gcp_project_id" {
description = "GCP project ID"
type = string
default = ""
}
variable "gcp_default_region" {
description = "GCP default region"
type = string
default = "europe-west1"
}
# IBM Cloud-specific variables
variable "ibm_api_key" {
description = "IBM Cloud API key"
type = string
default = ""
sensitive = true
}
variable "ibm_default_region" {
description = "IBM Cloud default region"
type = string
default = "us-south"
}
# Oracle Cloud-specific variables
variable "oci_tenancy_ocid" {
description = "OCI tenancy OCID"
type = string
default = ""
}
variable "oci_user_ocid" {
description = "OCI user OCID"
type = string
default = ""
}
variable "oci_fingerprint" {
description = "OCI API key fingerprint"
type = string
default = ""
}
variable "oci_private_key_path" {
description = "Path to OCI private key"
type = string
default = ""
}
variable "oci_default_region" {
description = "OCI default region"
type = string
default = "us-ashburn-1"
}
# vSphere/On-prem variables
variable "vsphere_user" {
description = "vSphere username"
type = string
default = ""
}
variable "vsphere_password" {
description = "vSphere password"
type = string
default = ""
sensitive = true
}
variable "vsphere_server" {
description = "vSphere server address"
type = string
default = ""
}
variable "tags" {
description = "Common 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"
}
}