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
|
|
# } |