# @creditkarma/vault-client 中文文档

规范地址：https://npmcn.com/package/%40creditkarma/vault-client/

版本：1\.0\.0
npm 元数据更新时间：2022-06-22T19:40:52.412Z
中文译文更新时间：2026-11-11T00:18:27.547Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40creditkarma/vault-client
原文对照：https://npmcn.com/package/%40creditkarma/vault-client/?lang=original
项目主页：https://github.com/creditkarma/vault-client#readme
源码仓库：https://github.com/creditkarma/vault-client

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：50.7 kB，30 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2017-12-06T00:02:23.252Z
- 最新版本发布：2022-06-22T19:40:52.282Z
- 近 30 天下载量：2592（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：32（近 12 个月 0 个）

## 中文简介

用 TypeScript 书写的用于与 Hashicorp Vault 通信的客户端

## 安装

```sh
npm install @creditkarma/vault-client
```

也可以使用：`pnpm add @creditkarma/vault-client`、`yarn add @creditkarma/vault-client`、`bun add @creditkarma/vault-client`

## README

# 默认客户端

用 TypeScript 写的 Hashicorp Vault 的客户端 .

## 安装

```sh
$ npm install --save @creditkarma/vault-client
```

## 使用量

这个图书馆揭露了两个与Vault,VaultClient和VaultService合作的班级. VaultClient提供了略高的抽象度和比较有限的API.

### 断层连接

VaultClient提供了两种方法:获取和设定. 两种方法都返回承诺.

#### 选项

VaultClient 期望 Vault 的访问符可以在本地文件中提供. 此文件的路径作为选项传递 .

可用的选项 :

-   apiVersion - 要使用的API版本. 目前这只能是"v1".
-   协议 - 使用“ http” 或“ https” 的协议。 默认为"http".
-   目的地 - Vault 实例的位置 。 默认为“ localhost: 8200 ” .
-   挂载 - 找到秘密的山顶 默认为“ 机密 ” .
-   namespace - 秘密的命名空间。 此路径将为所有获取/ 设置请求做准备 。 默认为".
-   符号Path - 本地文件路径 。 默认为"/tmp/token" .
-   选项 - 转到下面的选项 [请求库](https://github.com/request/request)。通过向任何服务或客户端方法传递一个可选的最后参数,可按请求对选项进行覆盖。 这将用于设置 TLS .

#### 挂载对命名空间

挂载是隐藏秘密的地道 默认这是 `secret`所以,你的所有秘密 将被存储在一个地址,如: `http://localhost:8200/secret/<key>`。此选项可以按“默认”实例进行不同的配置.

命名空间是此路径上为组织您的秘密而添加的. 您的服务可与其他服务共享一个 Vault 实例 。 命名空间可以成为您的服务名称 。 你的所有秘密都将保存在: `http://localhost:8200/secret/<namespace>/<key>`。 。 。 .

#### 数据格式

当一个秘密被写到 Vault 时, 您所设置的值将会被这个格式的对象所包裹 :

```typescript
{
  "value": value
}
```

当读取带有此表单的 VaultClient 对象的值时, 假设 。 如果没有价值财产,将提出例外。 当执行只获取值键的值时,将返回 。 这允许获取和设定方法在原始值上运行.

#### 示例

```typescript
import { IHVConfig, VaultClient } from '@creditkarma/vault-client'

const options: IHVConfig = {
    apiVersion: 'v1',
    protocol: 'http',
    destination: 'localhost:8200',
    mount: 'secret',
    namespace: '',
    tokenPath: '/tmp/token',
    requestOptions: {
        headers: {
            host: 'localhost'
        }
    }
}
const client: VaultClient = new VaultClient(options)

// Because we set a namespace this is actually written to 'secret/key'
client.set('key', 'value').then(() => {
    // value successfully written
    client.get<string>('key').then((val: string) => {
        // val = 'value'
    })
})
```

### 故障服务

VaultService为原始的Vault HTTP API提供了更直接的访问. 方法参数和方法返回类型符合 [HTTP 断层 API](https://www.vaultproject.io/api/)。 。 。 .

#### 选项

VaultService 接受 VaultClient 接受的选项的子集:

-   图像
-   协议
-   目标
-   选项

#### 示例

就像VaultClient所有的方法 返回承诺.

```typescript
import { IServiceConfig, VaultService } from '@creditkarma/vault-client'

const options: IServiceConfig = {
    apiVersion: 'v1',
    protocol: 'http',
    destination: 'localhost:8200',
    requestOptions: {
        headers: {
            host: 'localhost'
        }
    }
}
const service: VaultService = new VaultService(options)

service.status()
service.init({ secret_shares: 1, secret_threshold: 1 })
service.unseal({ key: 'key', reset: true })
service.read(path, token)
service.write(path, value, token)
```

## 运行测试

好东西 `npm test` 将工作。 然而,运行测试需要运行的Vault服务器. 这是用 [插头](https://www.docker.com/)。如果你没有 `docker-compose` 在您的系统中, 您将无法运行测试 。 确定你还有插头.

```sh
$ npm test
```

您可以在不进行测试的情况下旋转 Vault 服务器 :

```sh
$ npm run docker
```

这个嵌入物图像在基座Vault图像上方有一点糖. 它暴露了取回信物的终点.

```sh
$ curl localhost:8201/client-token
```

## 捐款

欲了解更多关于贡献新功能和错误修正的信息,请参见我们 [贡献准则](https://github.com/creditkarma/CONTRIBUTING.md)。 。 。 . 外部捐助者必须签署捐助者许可证协定

## 许可证

这个项目的许可证根据 [Apache 许可证版本 2.0](https://npmcn.com/package/%40creditkarma/vault-client/LICENSE)

## 常见问题

### @creditkarma/vault-client 是什么？

用 TypeScript 书写的用于与 Hashicorp Vault 通信的客户端

### 如何安装 @creditkarma/vault-client？

在项目目录运行 npm install @creditkarma/vault-client，或使用 pnpm add / yarn add / bun add。

### @creditkarma/vault-client 支持 TypeScript 吗？

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

### @creditkarma/vault-client 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @creditkarma/vault-client 可以商用吗？

@creditkarma/vault-client 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @creditkarma/vault-client 的下载量有多少？

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

### @creditkarma/vault-client 还在维护吗？

最新版本 1\.0\.0 发布于 2022/06/23（4 年前）；至今共发布 32 个版本，其中过去 12 个月发布了 0 个；首次发布于 2017/12/06。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

