内存
┌────────────────────────────┐
│ IN NON-PROD ACCOUNT │
│ │
│ You run: terraform apply │
│ We run: terraform destroy │
└────────────────────────────┘
EnvCtl 是将Terraform环境生命周期管理自动化于非验证账户的工具
主要用途案例: 您为 dev 测试提供了资源, 工具在工作日结束时会摧毁它们, 所以 您节省$
信封免费供个人使用
安装
EnvCtl 需要节点22或以上
npm install -g @agilecustoms/envctl
设置
目前(2026年5月)EnvCtl正在进行α测试,请联系作者 切库拉耶瓦莱克塞@gmail.com 用于登机. 一旦获得 API 密钥, 您可以运行 :
envctl configure
使用量
这很容易 随便用 envctl 改为 terraform数字 :
envctl init -backend-config=key=my-test-env
envctl plan # any normal terraform plan arguments
envctl apply # any normal terraform apply arguments
envctl delete
说明。 它现在可以使用"去除"命令,而不是"去除",而是在EnvCtl后端发射Aync破坏过程. 为此,您需要创建用户/角色, 并设定信任政策, 让 EnvCtl 承担并代表您删除资源
优点:
- (主)你可以忘记跑
destroy,EnvCtl 将在工作日结束时删除资源(配置) - 通常破坏需要很长的时间(如果在VPC中使用Lambda的话,最多40分钟). 你用不着等它
- (未来) 通常畸形只是不能删除一个资源,因为例如,S3桶中已经有一些对象. 我们称之为"硬资源". EnvCtl 也会删除它们
由于现在在远程服务器上运行了一个销毁程序,你可能需要知道正在发生什么. 为此,您可以使用下列命令:
envctl status # shows environment status: ACTIVE, DELETING, DELETE_ERROR
envctl logs # shows most recent destroy logs - helpful if status returns DELETE_ERROR
logs 保存文件并在文件管理器中打开其目录。 它没有打开 --no-open
输出或输出不是终端( AI 代理、 脚本、 CI) - 然后使用打印的文件路径
限制
截止2026年5月:
- 只支持 AWS 。 未来计划提供全球气候方案、Azure和其他供应商 (发送电子邮件到 切库拉耶瓦莱克塞@gmail.com 如果您想成为其他提供者的测试者)
- 仅S3 远程状态( 其他远程状态计划)
额外特性 :
- 如果由于锁定出错而应用失败, EnvCtl 将提议您强制解锁状态并重试
apply。 。 。 . 在非交互模式( CI) 中, 它会因原锁错误而失败( 很快会永远等待) - 如果由于已知的瞬态 AWS 错误而应用失败, EnvCtl 重试
apply一次 一次吗. 保存的计划不能被应用两次(在失败的应用后被搁置),所以envctl apply {planfile}EnvCtl 首次重新运行plan与它保存的参数envctl plan -out={planfile}(单位:千美元).terraform/envctl.json) (中文(简体) ). 未制作的计划文件envctl plan(或自此已更改)未再审 - 用于多租户账户的 EnvCtl 自动注入定义环境密钥/前缀的变量
- 和 AWS CLI 一样, EnvCtl 支持配置文件, 因此您可以在不同的账户中切换
支助
目前,支助是通过电子邮件进行的 [email protected]
路线图
- OIDC支持(目前客户需要创建带有访问密钥的IAM用户)
- 支持其他供应商(GCP、Azure)
- 自助网站(目前通过聊天录用)
- 扩展“ Hard 资源” 支持( 非空 S3 桶, Api Gateway 中修正的路由等)
- 环境删除失败时在 Slack/电子邮件中发出通知
- 企业扩展分析
永恒的环境
在CD管线中使用了以至端的测试.
此类环境不是在工作日结束时删除,而是在创建一段时间后删除
(可配置,一般在一个小时之内——进行所有测试所需的时间).
关键想法:如果测试成功,你的CD管道的最后一步将运行 envctl delete。 。 。 .
测试完成后,您的管道就结束, 你不需要再等几分钟 资源删除了!
但如果测试失败了, 你有时间调查失败, 并有机会延长环境寿命!
这个功能可供α/β测试者使用,在活体释放后的第一个月使用,然后支付
联系人 切库拉耶瓦莱克塞@gmail.com 电子环境演示