GitHub - leg100/pug: 在终端速度下驱动 Terraform。

主要观点:PUG 是面向 terraform 高级用户的终端用户界面,可并行执行任务、管理状态资源等,支持多种工具和功能。
关键信息

  • 安装方式有go、Homebrew 及下载 GitHub 发行版,需 nerdfonts 字体渲染图标。
  • 需先安装terraform,首次运行会搜索当前工作目录的子目录中的 terraform 根模块。
  • 可通过标志、环境变量和配置文件配置,配置文件默认在$HOME/.pug.yaml
  • 自动加载.tfvars文件中的变量,根据工作空间命名。
  • 有多个页面,如 Explorer(展示模块和工作空间树)、State(列出工作空间资源)、Tasks(任务页面)等,各页面有相应的键绑定操作。
  • 支持 common key bindings,如全局通用键、选择相关键、过滤键、导航键等。
  • 有 Module(包含 terraform 配置和后端配置的目录)、Workspace(从terraform workspace list输出解析)、Task 等概念。
  • 集成了infracost进行成本估算,需安装并配置 API 密钥。
  • 支持 Tofu 和 Terragrunt,需先安装并设置相应程序。
  • 可通过 asdf 或 mise 管理多个 terraform 版本,利用 Pug 的任意执行功能安装特定版本。
    重要细节
  • Explorer 页面可多选模块或工作空间,不同操作对模块和工作空间的影响不同,键绑定丰富。
  • State 页面可进行多种与状态相关的操作,键绑定也有相应设置。
  • Tasks 页面可取消、重试任务等,Task Group 页面可对多个任务进行操作。
  • Logs 页面用于查看日志。
  • 在多个 terraform 版本管理中,可通过特定操作为每个模块安装指定版本。
阅读 13
0 条评论