Terragrunt 参考架构项目教程
1. 项目的目录结构及介绍
Terragrunt 参考架构项目的目录结构设计旨在帮助用户理解和使用 Terragrunt 进行基础设施管理。以下是项目的主要目录结构及其介绍:
terragrunt-reference-architecture/
├── README.md
├── LICENSE
├── code-of-conduct.md
├── security-policy.md
├── modules/
│ ├── aws/
│ │ ├── account/
│ │ ├── region/
│ │ ├── env/
│ │ └── proj/
│ └── lambdas/
├── configs/
│ ├── base.hcl
│ ├── dev.hcl
│ ├── prod.hcl
│ └── stage.hcl
└── scripts/
├── init.sh
├── deploy.sh
└── destroy.sh
- README.md: 项目介绍和使用说明。
- LICENSE: 项目许可证信息。
- code-of-conduct.md: 项目行为准则。
- security-policy.md: 项目安全政策。
- modules/: 包含各种模块,按逻辑提供者(如 AWS)的思维模型分组。
- aws/: AWS 相关模块,按账户、区域、环境和项目分组。
- lambdas/: 所有 AWS Lambda 函数。
- configs/: 包含不同环境的配置文件。
- base.hcl: 基础配置文件。
- dev.hcl: 开发环境配置文件。
- prod.hcl: 生产环境配置文件。
- stage.hcl: 预发布环境配置文件。
- scripts/: 包含项目的启动、部署和销毁脚本。
- init.sh: 初始化脚本。
- deploy.sh: 部署脚本。
- destroy.sh: 销毁脚本。
2. 项目的启动文件介绍
项目的启动文件主要位于 scripts/
目录下,以下是主要启动文件的介绍:
- init.sh: 该脚本用于初始化项目环境,包括设置必要的变量和配置。
- deploy.sh: 该脚本用于部署项目,根据配置文件进行基础设施的创建和更新。
- destroy.sh: 该脚本用于销毁项目,清理所有已部署的基础设施资源。
3. 项目的配置文件介绍
项目的配置文件主要位于 configs/
目录下,以下是主要配置文件的介绍:
- base.hcl: 基础配置文件,包含所有环境共用的配置项。
- dev.hcl: 开发环境配置文件,包含特定于开发环境的配置项。
- prod.hcl: 生产环境配置文件,包含特定于生产环境的配置项。
- stage.hcl: 预发布环境配置文件,包含特定于预发布环境的配置项。
这些配置文件使用 HCL(HashiCorp Configuration Language)编写,定义了各种资源和模块的配置参数,Terragrunt 将根据这些配置文件进行基础设施的管理和部署。