@crvouga/mockingbird-service-infisical

中文文档
1.10.9发布于 2026/11/03MITTypeScriptES Module构建来源已验证近 30 天下载 1.5万

国有非活性仿真器:Universal Auth,范围化机器/服务符和版本化的项目环境秘密.

中文使用文档
文档目录7 节
  1. 安装
  2. 使用量
  3. 供应商路线和行为
  4. 管理控制和隐私
  5. 甲骨文证据
  6. API 密码
  7. 故意不模拟

@crvouga/ mockingbird-service-infisical (英语)

本地模拟器。 真正的API合同. 部分 嘲笑鸟。 。 。 .

A 类 阴道 通用 Auth 和 原始 秘密 表面的便携式非光学模拟器 @infisical/sdk 3.0.91 (中文(简体) ). 组织、项目环境、文件夹、权限、符号、, 秘密和历史版本共享标准SQLite状态,时钟,命名空间和时光网上. 仅使用合成固定装置.

安装

bun add @crvouga/mockingbird-service-infisical

使用量

import { InfisicalSDK } from "@infisical/sdk"
import { createServer } from "@crvouga/mockingbird-service-infisical/server"

const emulator = await createServer()

// The application's client. Only siteUrl changes.
const sdk = new InfisicalSDK({ siteUrl: emulator.url })
sdk.auth().accessToken("fixture-service-token")
const result = await sdk.secrets().listSecrets({
  projectId: "fixture-project",
  environment: "dev",
  secretPath: "/app",
})
console.log(result.secrets.map((secret) => ({ key: secret.secretKey, version: secret.version })))

await emulator.close()

例子需要 @infisical/[email protected]SDK是一种可选的消费者依赖 模拟器的运行时间并不取决于它. 与 Universal Auth 连接的机器身份记录和 /__admin/ns/<name> 前缀在 siteUrl 给一个套件 :

import { InfisicalSDK } from "@infisical/sdk"
import { createServer } from "@crvouga/mockingbird-service-infisical/server"

const emulator = await createServer({ adminKey: "fixture-infisical-admin" })

const sdk = new InfisicalSDK({ siteUrl: `${emulator.url}/__admin/ns/test-suite` })
await sdk.auth().universalAuth.login({
  clientId: "fixture-machine",
  clientSecret: "fixture-client-secret",
})
const result = await sdk.secrets().listSecrets({
  projectId: "fixture-project",
  environment: "dev",
  secretPath: "/app",
})
console.log(result.secrets.map((secret) => ({ key: secret.secretKey, version: secret.version })))

await emulator.close()

指消费者 INFISICAL_SITE_URL (或其SDK) siteUrl 配置),位于服务URL. SDK地图 projectId 切入到 v3 线字段 workspaceId。默认树有一个 dev 环境, /, (中文(简体) ), /app 财务报告和审定财务报表 /sibling 文件夹。 默认机器允许 /app 和后代; 它的合成客户秘密是 fixture-client-secret遗产 fixture-service-token 许可 所有三个文件夹通过 sdk.auth().accessToken("fixture-service-token") 或持枪者.

不同装置的通行证 trees: ProjectTree[] 改为 createRuntime, (中文(简体) ), createServer 或者说 InfisicalAPI。 。 。 . 树名 组织、 项目和环境; 每个文件夹包含 { key, value, comment?, tags?, metadata?, version? } 秘密和可选 { environment, path } 进口. 指定机器 { id, clientSecret, grants, ttl?, maxTTL? }; 指定服务符 { id, token, grants, expiresAt? }赠款 { projectId, environment, path, recursive?, actions? },与 read, (中文(简体) ), create 财务报告和审定财务报表 edit 行动。 路径匹配完整段 : /app 永远 匹配 /application开放行动允许所有三个。 这些固定权限的模型精确度 路径和递归子树; 供应商 CASL/ glob 政策在此片外.

供应商路线和行为

方法路线行为
邮政/api/v1/auth/universal-auth/login客户端ID/ 秘密登录; 接线符, expiresIn, (中文(简体) ), accessTokenMaxTTL
邮政/api/v1/auth/token/renew在最初的最大寿命内更新活机符号
获取/api/v3/secrets/raw按项目、环境和文件夹列出;可选的递归读取、标签过滤器、导入和价值隐藏
获取/api/v3/secrets/raw/{secretName}当前或编号的历史版本;可选导入/参考扩展
邮政/api/v3/secrets/raw/{secretName}在第一版创建共享机密
帕齐/api/v3/secrets/raw/{secretName}更新或重命名; 递增版本并保存更早的值、 注释、 标记和元数据

列表返回 { secrets, imports },由密钥上调命令;3.x SDK使用的v3路由器有 无标记 元数据或限制/抵销参数复制创建返回供应商 400 BadRequestError, (中文(简体) ), 而不是一种捏造出的冲突状态。 保留最终值时会修剪秘密值 新线,沿着生路变换. 支持共享机器/服务访问; 个人秘密写作被拒绝. Token 过期使用被注入的仿真器时钟. 失踪/无效 令牌、拒绝许可、丢失位置/秘密、计划验证和拖延返回 供应商形状的错误信封。 位置不明的信息是故意通用的以避免 暴露固定结构. 机器代号是不透明的仿真者证书,而不是签字的JWT. 带有一个精确范围的后遗症服务标志, 覆盖呼叫者的项目/环境/路径, 遵循v3路由器;递归式服务范围保留了明确的呼叫器位置.

引用扩展支持 ${KEY} 财务报告和审定财务报表 ${environment.folder.KEY} 参考文献 同一个项目。 循环和缺失的参考文献在这一有界限的片断中仍为文字;参考了现有的 403 而不是透露其价值。 仅披露进口 信使可以读取的来源秘密。 导入后退和 SDK listSecretsWithImports 用于种子源的工作; 导入管理使用管理树控制.

管理控制和隐私

每个管理员数据需要读取/写入 x-mockingbird-admin-key。默认是明确 合成 fixture-infisical-admin; 自行提供 adminKey 当共享服务器时。 一个空的 键被拒绝。 标准健康、状态、时间线、重置、计量、请求、断层和命名空间 线路位于 /__admin· ; adminPrefix 移动完整的保留树.

方法管理路径行为
获取/后/project-tree导出元数据/ 原子种子或更新一棵树; 重播已存在的密件创建新版本
获取/secrets只保密元数据; 没有值、 注释或任意的元数据字段
邮政/secrets/rotate{ projectId, environment, secretPath?, secretName, secretValue }; 版本突起, 元数据响应
获取/tokens身份证、签发/过期时间、范围和吊销状态;无证书
邮政/tokens/{id}/expire在当前时钟时间过期
邮政/tokens/{id}/revoke撤销一个标志
邮政/machines/{id}/revoke撤销机器的现有令牌; 以后登录可以发布新的令牌
邮政/permissions/deny拒绝 { projectId, environment, path, recursive? }

保密值、评论、元数据、客户秘密和信使证书被封存 AES-256-GCM (法语) 在此之前 输入任何收藏。 标准状态读取和时间线快照 包含加密字节; 服务特定管理员只读出元数据。 请求日记, 参数、日志和出错中从未包含秘密值或证书机构。 返回纯文本 只有经授权的供应商秘密行动。 这是一个测试模拟器: 呼叫者持有运行时间 对象可以访问其程序 API,并且应该信任.

加密密钥是运行时间的私密密钥,通过命名空间共享. 密封行 被绑定在公共名称空间,记录类型和版本,所以时光线分支解密它们 在不允许交叉名称空间密码文本再利用的情况下,保留了固定装置。 使用 createVaultKey() 并通过同样的 vaultKey 当打开一个持久的SQLite数据库时; 把钥匙放在序列状态之外 认证失败/ 打印不显示密封 目录。 构造器固定装置是同步密封的,因此最初的时线检查点和 重置包括整棵树.

使用命名空间 x-mockingbird-namespace, (中文(简体) ), /__admin/ns/<name>/…,或证书绘图 PUT /__admin/credentials。在一个命名空间中发布的机器令牌不能授权另一个. 预设 : rate_limited (429,重试-后 1), missing_version (404次检索), server_error (500个) 财务报告和审定财务报表 network_reset (连接滴出后再写出). 过 count: 1 为一发一发的过失. 这个地表上没有外出网点.

甲骨文证据

合同跟随官员 v3 原始机密路由器, (中文(简体) ), 原始反应计划, (中文(简体) ), 秘密行为, (中文(简体) ), 列表顺序, (中文(简体) ), 通用 Auth 路由器, (中文(简体) ), 财务报告和审定财务报表 错误处理器。 。 。 . SDK 测试执行实际 已发布 3.0.91 套件。 。 。 . 这些是源/ SDK 检查,不是活沙盒对等通过的说法.

bun run parity:service -- infisical 需求 INFISICAL_API_URL, (中文(简体) ), INFISICAL_TOKEN, (中文(简体) ), INFISICAL_PROJECT_ID, (中文(简体) ), INFISICAL_ENVIRONMENT 财务报告和审定财务报表 INFISICAL_SECRET_PATH寒冷的跑者 对照可访问的空测试文件夹检查只读列表行为 。 它从来没有创造或 更新现场机密。 缺少证书或无法空入/无法访问文件夹出口 2 .

API 密码

主要输入运行时间出口 : InfisicalAPI, (中文(简体) ), createRuntime, (中文(简体) ), createVaultKey, (中文(简体) ), DEFAULT_TREE, (中文(简体) ), DEFAULT_ADMIN_KEY, (中文(简体) ), INFISICAL_NAMESPACE, (中文(简体) ), INFISICAL_PRESETS, (中文(简体) ), normalizePath, (中文(简体) ), object, (中文(简体) ), document 财务报告和审定财务报表 supportedOperationIds。 。 。 . object 安全地缩小一个未知的平面对象值. InfisicalAPI 执行 fetch, (中文(简体) ), reset, (中文(简体) ), seedTree, (中文(简体) ), ensureSeeded, (中文(简体) ), wire, (中文(简体) ), metadata 财务报告和审定财务报表 透过 state 加号 sqlite 财务报告和审定财务报表 app。 。 。 . createRuntime 添加共享内容 摩诃萨相与管相. 公共类型包括: InfisicalAPIOptions, (中文(简体) ), InfisicalRuntime, (中文(简体) ), InfisicalRuntimeOptions, (中文(简体) ), ProjectTree, (中文(简体) ), Grant, (中文(简体) ), SecretFixture, (中文(简体) ), SecretRecord 财务报告和审定财务报表 Token。 。 。 . 这个 /server 进口 createServer, (中文(简体) ), DEFAULT_PORT (8811个)和 serveTarget附加时 InfisicalServer, (中文(简体) ), InfisicalServerOptions(原始内容存档于2012-10-10). CLI: mockingbird-infisical serve --port 8811。 。 。 .

故意不模拟

全面非商业产品管理、供应商v4 API、用户/个人秘密所有权、批准 政策、动态/云层秘密、外部认证方法、签署的JWT核查、符号使用限制、, 周期符号模式、 IP 允许列表、 跨项目引用、 嵌入式导入图/ 复制, 全面审计记录报告、供应商ETags和网约车 就在这个小块外 安装或测试时不需要有现场秘密.

版本与发布记录

@crvouga/mockingbird-service-infisical 共发布 22 个版本,首次发布于 2026/10/05;过去 12 个月发布了 22 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.10.9latest2026/11/038 天前
1.10.82026/11/038 天前
1.10.72026/11/038 天前
1.10.62026/11/038 天前
1.10.52026/11/038 天前
1.10.42026/11/038 天前

关于 @crvouga/mockingbird-service-infisical 的常见问题

@crvouga/mockingbird-service-infisical 是什么?

国有非活性仿真器:Universal Auth,范围化机器/服务符和版本化的项目环境秘密.

如何安装 @crvouga/mockingbird-service-infisical?

在项目目录运行 npm install @crvouga/mockingbird-service-infisical,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mockingbird-infisical,可以用 npx mockingbird-infisical 直接运行。

@crvouga/mockingbird-service-infisical 支持 TypeScript 吗?

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

@crvouga/mockingbird-service-infisical 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@crvouga/mockingbird-service-infisical 可以商用吗?

@crvouga/mockingbird-service-infisical 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@crvouga/mockingbird-service-infisical 的下载量有多少?

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

@crvouga/mockingbird-service-infisical 还在维护吗?

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