Initial commit: Terraform configurations for multiple cloud providers

This commit is contained in:
Ben User
2026-02-01 06:36:02 +00:00
commit 70f160b396
58 changed files with 1813 additions and 0 deletions

73
oracle/README.md Normal file
View File

@@ -0,0 +1,73 @@
# Oracle Cloud (OCI) Terraform 配置
## 项目结构
```
oracle/
├── main.tf # 根配置Provider 定义)
├── modules/ # 共享模块
│ ├── vcn/ # 虚拟云网络模块
│ │ ├── main.tf
│ │ ├── variables.tf
│ │ └── outputs.tf
│ └── compute/ # 计算实例模块
│ ├── main.tf
│ └── variables.tf
└── environments/ # 环境特定配置
├── dev/ # 开发环境
│ ├── main.tf
│ └── variables.tf
└── prod/ # 生产环境
├── main.tf
└── variables.tf
```
## 配置说明
### 1. ~/.oci 配置
您的 OCI 配置已经位于 `~/.oci/` 目录中,包含:
- `config` - OCI 配置文件
- `oci_api_key.pem` - 私钥文件
Terraform OCI Provider 会自动读取这些配置,无需在代码中硬编码凭证。
### 2. 如何使用
**开发环境**
```bash
cd environments/dev
terraform init
terraform plan
terraform apply
```
**生产环境**
```bash
cd environments/prod
terraform init
terraform plan
terraform apply
```
### 3. 模块使用
模块位于 `modules/` 目录,可以在不同环境中重复使用:
```hcl
module "vcn" {
source = "../../modules/vcn"
compartment_id = var.compartment_id
vcn_name = "my-vcn"
cidr_block = "10.0.0.0/16"
}
```
## 优势
1. **环境隔离**dev 和 prod 环境完全分离
2. **代码复用**:模块可在不同环境中共享
3. **配置安全**:敏感信息存储在 `~/.oci`,不在代码中
4. **易于扩展**:可添加 staging、test 等环境
## 注意事项
1. 每个环境有独立的 Terraform 状态文件
2. 建议使用不同的 Compartment 或 Tenancy 隔离环境
3. 生产环境的 CIDR 和规格应与开发环境不同