111 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			HCL
		
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			HCL
		
	
	
	
| # 开发环境主配置文件
 | |
| 
 | |
| # 引入共享版本配置
 | |
| terraform {
 | |
|   required_version = ">= 1.6"
 | |
|   
 | |
|   required_providers {
 | |
|     # Oracle Cloud Infrastructure
 | |
|     oci = {
 | |
|       source  = "oracle/oci"
 | |
|       version = "~> 7.20"
 | |
|     }
 | |
|     
 | |
|     # 其他常用提供商
 | |
|     random = {
 | |
|       source  = "hashicorp/random"
 | |
|       version = "~> 3.1"
 | |
|     }
 | |
|     
 | |
|     tls = {
 | |
|       source  = "hashicorp/tls"
 | |
|       version = "~> 4.0"
 | |
|     }
 | |
|     
 | |
|     local = {
 | |
|       source  = "hashicorp/local"
 | |
|       version = "~> 2.1"
 | |
|     }
 | |
|     
 | |
|     # Consul Provider
 | |
|     consul = {
 | |
|       source  = "hashicorp/consul"
 | |
|       version = "~> 2.22.0"
 | |
|     }
 | |
|     
 | |
|     # HashiCorp Vault Provider
 | |
|     vault = {
 | |
|       source  = "hashicorp/vault"
 | |
|       version = "~> 4.0"
 | |
|     }
 | |
|     
 | |
|     # DigitalOcean Provider
 | |
|     digitalocean = {
 | |
|       source  = "digitalocean/digitalocean"
 | |
|       version = "~> 2.0"
 | |
|     }
 | |
|     
 | |
|     # Cloudflare Provider
 | |
|     cloudflare = {
 | |
|       source  = "cloudflare/cloudflare"
 | |
|       version = "~> 4.0"
 | |
|     }
 | |
|   }
 | |
|   
 | |
|   # 后端配置
 | |
|   backend "local" {
 | |
|     path = "terraform.tfstate"
 | |
|   }
 | |
| }
 | |
| 
 | |
| # Consul Provider配置
 | |
| provider "consul" {
 | |
|   address    = "localhost:8500"
 | |
|   scheme     = "http"
 | |
|   datacenter = "dc1"
 | |
| }
 | |
| 
 | |
| # Vault Provider配置
 | |
| provider "vault" {
 | |
|   address = var.vault_config.address
 | |
|   token   = var.vault_token
 | |
| }
 | |
| 
 | |
| # Oracle Cloud 配置已移至 oracle.tf
 | |
| 
 | |
| # Oracle Cloud 基础设施 - 暂时注释掉以避免VCN数量限制问题
 | |
| # module "oracle_cloud" {
 | |
| #   source = "../../providers/oracle-cloud"
 | |
| #   
 | |
| #   # 传递变量
 | |
| #   environment    = var.environment
 | |
| #   project_name   = var.project_name
 | |
| #   owner          = var.owner
 | |
| #   vpc_cidr       = var.vpc_cidr
 | |
| #   availability_zones = var.availability_zones
 | |
| #   common_tags    = var.common_tags
 | |
| #   
 | |
| #   # 使用从Consul获取的配置
 | |
| #   oci_config = {
 | |
| #     tenancy_ocid     = data.consul_keys.oracle_config.var.tenancy_ocid
 | |
| #     user_ocid        = data.consul_keys.oracle_config.var.user_ocid
 | |
| #     fingerprint      = data.consul_keys.oracle_config.var.fingerprint
 | |
| #     private_key      = data.consul_keys.oracle_config.var.private_key
 | |
| #     region           = "ap-chuncheon-1"
 | |
| #     compartment_ocid = data.consul_keys.oracle_config.var.tenancy_ocid  # 使用tenancy_ocid作为compartment_ocid
 | |
| #   }
 | |
| #   
 | |
| #   # 开发环境特定配置
 | |
| #   instance_count = 1
 | |
| #   instance_size  = "VM.Standard.E2.1.Micro"  # 免费层
 | |
| #   
 | |
| #   providers = {
 | |
| #     oci = oci
 | |
| #   }
 | |
| # }
 | |
| 
 | |
| # 输出
 | |
| # output "oracle_cloud_outputs" {
 | |
| #   description = "Oracle Cloud 基础设施输出"
 | |
| #   value       = module.oracle_cloud
 | |
| # } |