@axnic/pulumi-garage

中文文档
1.1.2发布于 2026/10/07Apache-2.0TypeScript构建来源已验证近 30 天下载 3953

CI [! [GitHub发布] (https:

中文使用文档
文档目录12 节
  1. 安装
  2. 节点.js (JavaScript/TypeScript) (中文(简体) )
  3. 蟒
  4. 走开
  5. . NET 网络
  6. 快速启动
  7. 配置
  8. 兼容性
  9. 已知的限制
  10. 参考文献
  11. 捐款
  12. 许可证

CI GitHub release Go Reference npm version PyPI version NuGet version License

普鲁米停车场提供者

管理 Pulumi 本地供应商 停车场页:1 自行托管,S3兼容的分布式对象存储系统,通过其Admin API.

它管理三种资源: Bucket (带有可选的全球别名,静态网站) (a) 东道方和储存配额, Key (S3访问密钥),以及 BucketKeyPermission (a) 读取/写出/拥有 Key 编号 Bucket) (中文(简体) ). 组 拖带(节点、区域、容量、布局)已超出范围----见 已知的限制。 。 。 .

[注] 证相. 此提供者由AI编码代理( Claude) 所建端到端 在一个自主的,“vibe编码”的会话中,没有人审查实施情况 逐行排列。 这个项目是故意要靠自动测试 而不是手动审查置信性:对行政API客户端进行单位测试 每个资源创建/读取/更新/删除逻辑,加上一个真正的端到端套件 在多克建立实际的停车场集群并进行练习(包括真正的S3) 对象通过授权上传/下载) - 见 捐款额。 。 。 . 自己审查代码,然后信任它与生产数据.

安装

此软件包有几种语言版本。 只有Go和YAML SDK两个 使用此 repo 本身的示例和 E2E 测试(参见 已知的限制;其他则为 方便,但除此之外,该项目没有经过测试.

节点.js (JavaScript/TypeScript) (中文(简体) )

npm install @axnic/pulumi-garage

蟒

pip install pulumi_garage

走开

go get github.com/axnic/pulumi-garage/sdk/go/pulumi-garage

. NET 网络

dotnet add package Axnic.Pulumi.Garage

提供方二进制本身不需要上述任何一种 pulumi plugin install resource garage <version> (或引擎的自动分辨率)直接取出 从这repo的 GitHub 发布,没有 需要列入普鲁米登记册.

快速启动

通过堆栈配置将提供者指向您的 Garage 集群的 Admin API :

pulumi config set garage:endpoint http://localhost:3903
pulumi config set garage:adminToken <token> --secret

或 GARAGE_ADMIN_ENDPOINT 编号 : GARAGE_ADMIN_TOKEN 环境变量。 这个 提供者不会为您设置一个 Gardage 集群 - 见 (原始内容存档于2018-10-21). carshq.deuxfleurs.fr 用来设置一个 (单位:千美元)garage layout assign编号 :apply,或 --single-node 用于单个节点集群.

然后,一个最小的YAML程序(见 examples/yaml/Pulumi.yaml, (中文(简体) ), 或者说 examples/go/main.go 对等号:

name: garage-example-yaml
runtime: yaml

resources:
  myKey:
    type: garage:Key
    properties:
      name: my-app-key
  myBucket:
    type: garage:Bucket
    properties:
      globalAlias: my-app-bucket
  myPermission:
    type: garage:BucketKeyPermission
    properties:
      bucketId: ${myBucket.id}
      accessKeyId: ${myKey.accessKeyId}
      permissions:
        read: true
        write: true

outputs:
  bucketId: ${myBucket.id}
  accessKeyId: ${myKey.accessKeyId}
  secretAccessKey: ${myKey.secretAccessKey}

配置

密钥Env var 倒计时说明
garage:endpointGARAGE_ADMIN_ENDPOINTGarage Admin API的基础URL,例如:. "http://localhost:3903"。 。 。 .
garage:adminToken (秘诀)GARAGE_ADMIN_TOKEN对停车场管理员API授权的无记名证.
garage:s3EndpointGARAGE_S3_ENDPOINT停车场S3 API的基础URL,例如:. "http://localhost:3900"。仅需要用于 Bucket是因为 lifecycleRules。 。 。 .
garage:s3RegionGARAGE_S3_REGIONS3区域签署请求. 默认为 "garage" 如果未设置.
garage:accessKeyIdGARAGE_S3_ACCESS_KEY_ID与停车场S3 API相对应的登录密钥ID授权. 仅需 lifecycleRules。 。 。 .
garage:secretAccessKey (秘诀)GARAGE_S3_SECRET_ACCESS_KEY密钥配对 accessKeyId。仅需要用于 lifecycleRules。 。 。 .

endpoint编号 :adminToken 以某种方式 -- -- 提供者未能 如果配置密钥及其内嵌 var 后退没有设定, 则配置 。 S3场是 可选且仅需管理 Bucket是因为 lifecycleRules (生命周期规则是: 只能通过 Garce 的 S3 API , 而不是它的管理员 API ; 如果您设置了其中之一 s3Endpoint编号 :accessKeyId编号 :secretAccessKey,你必须设置所有三个.

兼容性

这家提供商与Garge's Admin API v2,Garge v2.0.0中引入的Garge v. 每个 下面的版本根据完整的实例程序生命周期进行测试(创建/更新/删除) 加上一个真实的 S3 对象上传/下载) 在自己的 CI 工作流程中,所以它的徽章反映了 单是这个版本,而不是一个集合:

停车场版本状态
页:1E2E (Garage v2.0.0)
页:1E2E (Garage v2.1.0)
页:1E2E (Garage v2.2.0)
页:1E2E (Garage v2.3.0)
页:1E2E (Garage v2.4.0)

每个工作流程.github/workflows/merge_group,pull_request,push.e2e-v2.*.yaml)为 中央可重复使用的 E2E 工作流程的薄调取器 axnic/.github 与该版本绑定(新版本由repo的E2E同步工作流程所添加,该工作流程打开了PR) - GitHub 动作状态徽章是每个工作流程文件,而不是每个程序腿,这就是为什么 这是五个小文件而不是一个 strategy.matrix 任务. --single-node (单位:千美元) 快速布局- bootstrap path)只存在于从 Garage v2.3.0 上,所以 docker-compose.yml 财务报告和审定财务报表 scripts/bootstrap-garage.sh 总是使用手册 layout assign编号 :apply 反之,这五只靴子都一样 各个版本.

已知的限制

这是一个v1,个人/小型org供应商 - 范围有意缩小:

  • 没有集群布局管理. 指定节点、区和能力不是 由这个供应商管理,它是一个一发的靴子陷阱操作 不适合 净入一能的IaC. Bootstrap你自己的停车场集群(如:. garage layout assign编号 :apply,或 --single-node 在停车场v2.3.0+)之前 指此供养.
  • Bucket 只支持单一的全局别名. 无本地( 每键) 化名, 不 多个全球别名.
  • Key全球 createBucket 权限不是模拟故意的 故意的 不够可靠,没有进一步验证 API.
  • 删除非空 Bucket 失败. 这个镜像是Garage(和S3的)自己的原生 行为;是故意的,不是虫子.
  • CI/E2E中只执行YAML和Go等例程序. 节点,蟒蛇, 和点网 SDK 生成并发布(参见 安装不过 不包括雷波的样本程序 或生命周期测试.
  • 没有Java/Maven SDK. 普鲁米对爪哇的支持太少了 无法证明 额外设置成本(Sonatype命名空间验证,GPG签名发布);节点, python, dotnet,并去SDK覆盖生态系统的实际使用.

参考文献

这家供货商没有在 Pulumi 书记官处, (中文(简体) ), 所以没有 pulumi.com/registry/packages/garage 链接生成的页面, 每个资源 API 文档。 在此之前:

  • 这个 参考 SDK 打开 pkg.go.dev (英语) 由普鲁米书记处制作的同样图案说明产生 是最完整的逐个字段的参考文献(在第一个字段之后使用) 标记放出 - 见 相关内容) (中文(简体) ).
  • 这个 Quickstart 财务报告和审定财务报表 Configuration 以上各节 涵盖三个资源和提供者配置结束;基本方案是 provider/cmd/pulumi-resource-garage/schema.json (生成而非手持也.

捐款

见 捐款额 用于构建提供者,测试层 (包括如何在本地运行 E2E 套件),生成 SDKs, 和去除相机 设置。 也见我们的 行为守则。 。 。 .

许可证

阿帕奇 - 2.0

版本与发布记录

@axnic/pulumi-garage 共发布 4 个版本,首次发布于 2026/07/15;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.1.2latest2026/10/071 个月前
1.0.12026/07/153 个月前
1.0.02026/07/153 个月前
1.0.0-alpha.0next2026/07/153 个月前

关于 @axnic/pulumi-garage 的常见问题

@axnic/pulumi-garage 是什么?

[! [GitHub发布] (https:

如何安装 @axnic/pulumi-garage?

在项目目录运行 npm install @axnic/pulumi-garage,或使用 pnpm add / yarn add / bun add。

@axnic/pulumi-garage 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@axnic/pulumi-garage 可以商用吗?

@axnic/pulumi-garage 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@axnic/pulumi-garage 的下载量有多少?

根据 npm 官方下载统计,@axnic/pulumi-garage 在 2026/10/08 – 2026/11/06 这 30 天内被下载 3,953 次,日均约 132 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@axnic/pulumi-garage 还在维护吗?

最新版本 1.1.2 发布于 2026/10/07(1 个月前);至今共发布 4 个版本,其中过去 12 个月发布了 4 个;首次发布于 2026/07/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。