# @cat-factory/eks 中文文档

规范地址：https://npmcn.com/package/%40cat-factory/eks/

版本：0\.1\.425
npm 元数据更新时间：2026-11-06T13:57:22.770Z
中文译文更新时间：2026-11-09T06:00:16.676Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40cat-factory/eks
原文对照：https://npmcn.com/package/%40cat-factory/eks/?lang=original
源码仓库：https://github.com/kibertoad/cat-factory

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

- 包体积（解压后）：53.8 kB，31 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2026-07-05T09:45:44.225Z
- 最新版本发布：2026-11-06T13:57:21.702Z
- 近 30 天下载量：5470（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：410（近 12 个月 410 个）

## 中文简介

Opt-in AWS EKS跑道+环境后端为猫构件. 重新使用由 SigV4 指定的 STS (IAM) apiserver 令牌背后的本地 Kubernetes 运输/提供商.

## 安装

```sh
npm install @cat-factory/eks
```

也可以使用：`pnpm add @cat-factory/eks`、`yarn add @cat-factory/eks`、`bun add @cat-factory/eks`

## README

# @ cat- factory/ eks (中文(简体) )

预选AWS **埃克萨斯** cat-factory 的后端:跑步后端(每个运行的代理舱)和一个 ephemeral-Environment后端(per-PR取名空间),均位于亚马逊EKS集群上.

## 为什么这个包裹很薄

EKS 集群的 API 服务器 **实值** 一个标准的 Kubernetes API 服务器,所以这个软件包 **重复使用 整个本地的Kubernetes运输/供应商** 从 `@cat-factory/integrations` (单位:千美元)`KubernetesRunnerTransport`, (中文(简体) ), `KubernetesEnvironmentProvider`, (中文(简体) ), `KubernetesApiClient`逐字记录. 唯一的EKS特有作品是 **认证**: EKS 不使用静态服务账户 无记名代号; 它期望一个寿命短的 IAM 代号( 由 SigV4 指定的 STS) `GetCallerIdentity` URL, 前缀 `k8s-aws-v1.`,准确的符号 `aws eks get-token` 生产)。 那个标志是 在这里用WebCrypto(`eks-auth.logic.ts`),所以包裹携带 **无运行时间 AWS SDK 依赖性** 并且运行时间中立。 它通过Aync符号接缝注射 `KubernetesApiClient` 曝光,因此没有运输逻辑重复.

## 扶持它

后门是 **没有** 在默认的登记簿中(保持AWS无限制)。 外观选择 登记他们 **参考文献** 从它的构成根( 节点/ 局部外观已经做了) 这个在 `backend/runtimes/node/src/container.ts`:

```ts
import { eksRunnerBackend, eksEnvironmentBackend } from '@cat-factory/eks'
registries.runnerBackendRegistry.register(eksRunnerBackend)
registries.environmentBackendRegistry.register(eksEnvironmentBackend)
```

工作空间然后连接一个 `eks` 运行/环境后端带有一个 `EksRunnerConfig` 编号 : `EksProvisionConfig` (Kubernetes 配置 Apiserver 端点, CA, 命名空间, 和图像, + `region` + 键 `clusterName`),以及AWS证书(E`awsAccessKeyId` 编号 : `awsSecretAccessKey` 编号 : 选项 `awsSessionToken`)在只写后缀中.

两个外观都通过引用来注册后端( Name`backend/runtimes/node/src/container.ts` 财务报告和审定财务报表 `backend/runtimes/cloudflare/src/infrastructure/container.ts`),保持运行时间对称 与当地人 `kubernetes` 他们的后端延伸.

> **运行时间到达.** 一个真正的 EKS 集群的 apiserver 呈现一个 **私营 CA**,仅此 可给自定义 CA( 节点/ 本地, 途径) 绑定的运行时间 `undici`)可以核实:SME约束a 私营 `kubernetes` 连接已经携带。 工人登记 `eks` 类型用于 对称性,但与此类集群的连接在注册时在前面被拒绝 运行时间不能遵守自定义 CA( R)`customTlsSupported: false`)),因此它大叫地失败,而不是 初发时默然.

### UI 到达

这个 **运行** 后端是一等UI公民:它通过 `RunnerBackendProvider.form` 描述符,所以SPA使其通用(区域/组/) 证书 + 共享服务器字段) **没有** EKS 专用前端代码, 相同 现在使用的已内置的 Kubernetes 后端路径 .

这个 **环境** 后端在按类型解决时具有功能,但尚未被浮出水面 拥有一等环境 _引擎_ 在 SPA 次手选择器中(连接流将) 下至 `{ kind: 'eks' }` 而不是说 `{ kind: 'kubernetes' }`) (中文(简体) ). 那需要一个专注的 `InfraEngine('eks')` 通过合同引擎联盟 + `handlerConfigToBackendConfig` + 键 按规定类型的SPA表格 [`docs/initiatives/descriptor-driven-infra-forms.md`](https://github.com/kibertoad/cat-factory/blob/main/docs/initiatives/descriptor-driven-infra-forms.md)。 。 。 .

## 测试

-   **单位** (单位:千美元)`pnpm --filter @cat-factory/eks test:run`,在所需的 CI 门内运行: SigV4/STS 令牌 薄荷金向量 + the `{ kind: 'eks' }` 合同往返。 无集群.
-   **一体化** (单位:千美元)`pnpm --filter @cat-factory/eks test:integration`: 驱动 EKS 运输/提供者对a **真实** 食人鱼 自动滑行,除非 `EKS_IT_*` 已经设定。 运行在 页:1 **无阻断** `test-eks` CI 任务( 见 `.github/workflows/ci.yml`) (中文(简体) ).

### 运行集成套装套装套装以对抗花花

[软体](https://floci.io/) 是一个本地的、 localStack 兼容的 AWS 模拟器, 它的 EKS “ 真实模式 ” 站起来 **每个 EKS 集群的活性 k3s 容器** 并在主机上曝光其 Kubernetes API 服务器 端口 。 Boot floci(被固定在这个套件被验证的版本上),与 AWS CLI,然后导出连接 :

```sh
docker run -d --name floci -p 4566:4566 -v /var/run/docker.sock:/var/run/docker.sock -u root floci/floci:1.5.30
export AWS_ACCESS_KEY_ID=test AWS_SECRET_ACCESS_KEY=test AWS_DEFAULT_REGION=us-east-1
aws --endpoint-url=http://localhost:4566 eks create-cluster --name cat-factory-it \
  --role-arn arn:aws:iam::000000000000:role/eks --resources-vpc-config '{}'
# ...wait for ACTIVE, then read endpoint + CA:
export EKS_IT_APISERVER=$(aws --endpoint-url=http://localhost:4566 eks describe-cluster --name cat-factory-it --query cluster.endpoint --output text)
export EKS_IT_REGION=us-east-1 EKS_IT_CLUSTER_NAME=cat-factory-it
export EKS_IT_ACCESS_KEY_ID=test EKS_IT_SECRET_ACCESS_KEY=test
export EKS_IT_STS_HOST=localhost:4566 EKS_IT_INSECURE=1
export EKS_IT_RUNNER_IMAGE=cat-factory-mock-harness:it   # runner suite only
pnpm --filter @cat-factory/eks run test:integration
```

这个 `stsHost` 覆盖( r)`EKS_IT_STS_HOST` {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}你觉得呢 `stsHost`) 指标预先签名的STS `GetCallerIdentity` URL在 floci 而不是真正的 AWS 。 见 `src/test-support/eks-cluster.ts` 联 合 国 完全的内存列表 和确切的floci做什么, 不,覆盖在认证层.

## 常见问题

### @cat-factory/eks 是什么？

Opt-in AWS EKS跑道\+环境后端为猫构件\. 重新使用由 SigV4 指定的 STS \(IAM\) apiserver 令牌背后的本地 Kubernetes 运输/提供商\.

### 如何安装 @cat-factory/eks？

在项目目录运行 npm install @cat-factory/eks，或使用 pnpm add / yarn add / bun add。

### @cat-factory/eks 支持 TypeScript 吗？

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

### @cat-factory/eks 支持 ESM 还是 CommonJS？

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

### @cat-factory/eks 可以商用吗？

@cat-factory/eks 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @cat-factory/eks 的下载量有多少？

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

### @cat-factory/eks 还在维护吗？

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

