SuperAPI AI 工具集

package-usage

部署与运维

查看项目

更新于 10-15 15:22

技能介绍

用途

package-usage 是一个 Pulumi 技能,用于追踪 Pulumi 组织内哪些 stack 使用了某个特定 package,以及它们使用的版本。它适用于跨 stack 审计,帮助识别使用过时或无人维护版本的 stack。

主要能力

该技能通过 Pulumi Cloud API 查询数据,使用 pulumi api CLI 子命令,并借助现有的 Pulumi 凭据进行认证,返回 JSON 格式结果。

获取 package 的最新版本

命令:

pulumi api /api/registry/packages -F name={package_name} -F orgLogin={orgName}

说明:

  • 需要包含 orgLogin,值为用户的组织名称。
  • 省略 -F name=... 可列出组织可见的所有 package,适用于用户未指定具体 package 的情况。
  • 响应包含 packages 数组,每个条目有 version 字段(最新版本),以及 name、publisher、source 和 packageStatus。

获取 package 的 stack 使用情况

命令:

pulumi api /api/orgs/{orgName}/packages/usage -F packageName={package_name}

说明:

  • 将 {orgName} 替换为上下文中的组织名称、PULUMI_ORG,或向用户询问。
  • packageName 为必填项;每次查询一个 package。

响应字段:

  • packageName:所查询的 package
  • stacks:数组,元素为 {stackName, projectName, version, lastUpdate}
  • totalStacks:总数

使用方式

工作流:查找过时的 stack

当用户想知道哪些 stack 使用了某个 package 的过时版本时使用。

  1. 获取该 package 的最新版本
  2. 获取该 package 的 stack 使用情况
  3. 将每个 stack 的版本与最新版本比较,识别过时的 stack
  4. 使用下方输出格式呈现结果

输出格式

以 Markdown 表格呈现结果,后跟一行汇总:

Project Stack Current Version Latest Version Status
my-app dev 6.40.0 6.52.0 Outdated
my-app prod 6.52.0 6.52.0 Up-to-date

2 of 2 stacks checked. 1 outdated.

适用场景

  • 跨 stack 审计某个 package 的使用情况
  • 识别使用过时版本的 stack
  • 识别使用无人维护版本的 stack

限制

超出范围:升级特定 stack。

该技能只识别过时的 stack,本身不执行升级。若要在项目中实际提升 package 版本——编辑 package.json、requirements.txt、pyproject.toml、go.mod 或 Pulumi.yaml,运行 pulumi preview,并协调差异——应移交给 provider-upgrade 技能。