本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
社区模块的最佳实践
有效使用模块是管理复杂的 Terraform 配置和促进重复使用的关键。本节提供了有关社区模块、依赖关系、来源、抽象和贡献的最佳实践。
探索社区模块
在构建新模块之前 GitHub
使用变量进行自定义
使用社区模块时,请通过变量传递输入,而不是分叉或直接修改源代码。在需要时覆盖默认值,而不是更改模块的内部结构。
Forking 应仅限于为原始模块提供修复或功能,以使更广泛的社区受益。
了解依赖关系
在使用该模块之前,请查看其源代码和文档以确定依赖关系:
-
必需的提供程序:请注意模块所需的版本 AWS、Kubernetes 或其他提供程序。
-
嵌套模块:检查内部使用的其他引入级联依赖关系的模块。
-
外部数据源:记下模块所依赖的 API、自定义插件或基础架构依赖关系。
通过绘制直接和间接依赖关系的完整树,可以在使用该模块时避免意外。
使用可信来源
从未经验证或未知的发行商那里采购 Terraform 模块会带来重大风险。仅使用来自可信来源的模块。
-
优先选择来自 Terraform Re
gistry 的认证模块,这些模块由经过验证的创作者(例如 AWS 或 HashiCorp 合作伙伴)发布。 -
对于自定义模块,请查看发布者历史记录、支持级别和使用声誉,即使该模块来自您自己的组织。
通过不允许使用来自未知或未经审查的来源的模块,可以降低在代码中注入漏洞或维护问题的风险。
订阅 通知
订阅来自值得信赖的发行商发布的新模块的通知:
-
查看 GitHub 模块存储库以获取有关该模块新版本的警报。
-
监控发布商博客和变更日志以获取更新。
-
从经过验证的、高度评价的来源获取有关新版本的主动通知,而不是隐含地获取更新。
仅使用来自可信来源的模块并监控更改可提供稳定性和安全性。经过审查的模块可提高生产力,同时最大限度地降低供应链风险。
为社区模块做出贡献
提交托管在以下位置的社区模块的修复和增强功能 GitHub:
-
在模块上打开拉取请求,以解决您在使用中遇到的缺陷或限制。
-
通过创建问题,请求将新的最佳实践配置添加到现有 OSS 模块中。
为社区模块做出贡献可以增强所有 Terraform 从业者的可重复使用的编纂模式。