用途:按 HashiCorp 官方风格约定与最佳实践生成、维护和审查 Terraform HCL 代码。主要能力:一是规定文件组织,如 terraform.tf 放版本要求、providers.tf 放 Provider 配置、main.tf 放资源与数据源、variables.tf、outputs.tf、locals.tf 分别放变量、输出和本地值,变量与输出按字母排序。二是代码生成顺序:先写 Provider 配置和版本约束,再按依赖顺序创建数据源与资源,为关键属性添加输出,所有可配置值使用变量。三是格式规范:每层缩进两个空格、不用制表符,连续参数等号对齐;参数在前、块在后,元参数最先,lifecycle 最后。四是命名:小写加下划线,使用描述性名词且不含资源类型,资源名用单数,仅单个实例时可用 main。五:每个变量必须有 type 和 description,敏感值标 sensitive = true;每个输出必须有 description。六:动态创建优先 for_each 而非 count,条件创建才用 count。七:版本固定使用 required_version 和 required_providers,说明 =、>=、~>、范围等约束符。八:Provider 配置可含 default_tags 和 alias 多区域。九:版本控制方面,不提交 tfstate、备份、.terraform/、*.tfplan 及含敏感数据的 .tfvars,应提交 .tf 文件和 .terraform.lock.hcl。十:提交前运行 terraform fmt -recursive 和 terraform validate,并可选用 tflint、checkov/tfsec 做 lint 与安全扫描。适用场景:编写、生成或评审 Terraform 基础设施代码时。限制:安全细节需参考 SECURITY.md,本资料未展开;未提供具体收费或平台信息。
terraform-style-guide
部署与运维
更新于 10-16 09:33