Files
smom-dbis-138/terraform/multi-cloud/environments.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

71 lines
1.8 KiB
HCL

# Multi-Cloud Environment Configuration Loader
# Reads from config/environments.yaml and creates Terraform data structures
locals {
# Load environments configuration
environments_file = yamldecode(file("${path.module}/../../config/environments.yaml"))
# Extract environments list
environments = local.environments_file.environments
# Filter enabled environments only
enabled_environments = {
for env in local.environments : env.name => env
if env.enabled == true
}
# Separate by role
admin_environments = {
for name, env in local.enabled_environments : name => env
if env.role == "admin"
}
workload_environments = {
for name, env in local.enabled_environments : name => env
if env.role == "workload"
}
# Group by provider
environments_by_provider = {
for provider in distinct([for env in local.enabled_environments : env.provider]) : provider => {
for name, env in local.enabled_environments : name => env
if env.provider == provider
}
}
# Global configuration
global_config = local.environments_file.global
}
# Outputs for debugging and other modules
output "environments" {
value = local.enabled_environments
description = "All enabled environments"
sensitive = false
}
output "admin_environments" {
value = local.admin_environments
description = "Admin/control plane environments"
sensitive = false
}
output "workload_environments" {
value = local.workload_environments
description = "Workload environments"
sensitive = false
}
output "environments_by_provider" {
value = local.environments_by_provider
description = "Environments grouped by cloud provider"
sensitive = false
}
output "global_config" {
value = local.global_config
description = "Global configuration settings"
sensitive = false
}