@colony2/pulse

中文文档
0.0.24发布于 2026/11/09Apache-2.0零依赖构建来源已验证近 30 天下载 2707

C2j 作业的容器调节计算

中文使用文档
文档目录11 节
  1. 安装
  2. 无
  3. 原生可执行文件
  4. 快开始
  5. 在容器中运行
  6. 配置
  7. 供应商
  8. HTTP API 密码
  9. 更多文档
  10. 许可证
  11. 本地提供者插件

脉搏

运行 c2j 任务在云计算 或者你自己的跑者.

Pulse 监视 JobDB 租户中的所有寄存器, 找到需要执行器的工作, 为每个选定的工作获得 JobDB 租约, 并将其传递到容器 。 它使用c2j的公用Go图书馆来进行发现并给每次发射都标记其JobDB身份. 控制器不需要单独的 c2j 可执行文件 ; 执行器图像必须包含 c2j 及其配方所需的工具。 。 。 .

安装 • 妇女 快开始 • 妇女 在容器中运行 • 妇女 配置 • 妇女 供应商 • 妇女 HTTP API 密码

安装

无

npm install --global @colony2/pulse
pulse version

要求节点.js 22+, tar,启用了安装脚本,而HTTPS访问 GitHub Releases 。 安装者下载匹配的本地可执行文件并验证存档的SHA-256校验和.

原生可执行文件

下载您的平台存档 GitHub 发布,验证它与 checksums.txt设置 pulse 在你身边 PATH. 原生可执行文件需要 Node.js. 档案还包含可选的 Linux pulse-exec 桥为云供养. Docker只需要脉冲可执行文件.

Linux和macOS在AMD64和ARM64上得到支持. 集装箱图像支持Linux AMD64和ARM64. 本地多克供应商在macOS上支持Linux服务器和多克桌面,使用Pulse自动多克套接字/文本发现.

快开始

在 Linux 上启动 Docker 引擎, 在 macOS 上启动 Docker 桌面, 然后运行 :

pulse

不需要脉冲配置文件 。 Pulse 使用与 c2j 相同的租户设置 : C2J_JOBDB,则 jobdb 以最接近为单位 .c2/config.yaml。您也可以明确选择租户:

pulse run --jobdb https://jobdb.example.com/acme
pulse check
pulse run --once
pulse version

Pulse在租户的每一个仓库都发现了合格的c2j工作. Docker是默认的提供者,没有图像/基准请求的工作使用选择器 ubuntu-26*,解决一个得到支持的Ubuntu 26.04基地 ghcr.io/colony-2/base2:latest。没有资源要求的工作没有CPU、内存或抓取分配,Docker没有默认的容器计数上限。 Docker检测出本土并模仿了执行支持,更喜欢它的守护进程在macOS和Linux上的本土架构. 明确的基础选择者仍然制约着建筑结构.

对于殖民地基础图像, Docker 自动保留 v、 pnpm 和 Nix 依赖性 跨行业和重新开始的租户范围。 没有 Nix 守护进程或手动缓存 需要设置。 见 缓存设置和图像先决条件。 。 。 .

check 验证设置并初始化提供者;它不验证远程连接或发射权限. run --once 执行一次发现/提交通行证。 两者 pulse 财务报告和审定财务报表 pulse run 在SIGINT或SIGTERM之前保持投票,并将 JSON 日志写入 Stderr 。 所发射的容器继续在其寿命控制之下.

独立执行的 go 提供者指南。脉冲使用零依赖性 提供者 API;自定义二进制可以在没有插件的情况下注册执行.

对于自定义提供者或多个租户,使用可选配置: 远程跑车, (中文(简体) ), 本地嵌入器覆盖,或 云提供方。执行器图像必须包含 c2j 与 run with-lease 支持;云图像也需要 pulse-exec。使用包含承诺的 JobDB 服务器 39ae1b444460 或后有可用路由的发现和提供租赁更新支持;与Pulse一起升级服务器.

在容器中运行

使用 ghcr.io/colony-2/pulse。对于简单的部署,请在 PULSE_CONFIG开始 实例/容器.yaml,然后运行:

export PULSE_CONFIG="$(cat pulse.yaml)"
docker run --rm --init \
  --read-only --tmpfs /tmp -p 8080:8080 \
  -e PULSE_CONFIG -e PULSE_PROVIDER_TOKEN \
  ghcr.io/colony-2/pulse:latest

文件在主机上读取. 在部署控制台,设置 PULSE_CONFIG 直接到 YAML 内容 。 将证书保存在单独的秘密/环境设置中,或使用主机平台的身份. 对于可重复的部署,请选择诸如 :vX.Y.Z 或图像摘要.

图像不透明, 作为 UID/ GID 运行 65532:65532,并包含 Pulse、其执行主管和CA证书。 它包括了本土的云认证,不需要外壳,Node.js,Git,云CLI,或者单独的c2j可执行. 配置 defaults.base 一个环境选择器。 遗产 defaults.image 加号 defaults.platform 仍然支持清晰的OCI图像.

对于挂载的YAML,请明确通过文件路径:

docker run --rm --init --read-only --tmpfs /tmp -p 8080:8080 \
  --mount "type=bind,source=$PWD/pulse.yaml,target=/etc/pulse/pulse.yaml,readonly" \
  -e PULSE_PROVIDER_TOKEN \
  ghcr.io/colony-2/pulse:latest --config /etc/pulse/pulse.yaml

挂载文件必须由UID 65532读取. 见 配置和云运行部署, (中文(简体) ), 云认证,以及 嵌入套接字设置。 。 。 .

配置

脉冲可选择加载一个YAML文档,顺序为:

  1. 明确 --config PATH。 。 。 .
  2. PULSE_CONFIG 包含YAML本身.
  3. ./pulse.yaml如果有的话.
  4. 内设缺省.

来源不合并. 空或无效的内行配置失败启动, 除非选中一个明确的文件 。 价值是字面的,没有扩展环境占位符。 重新启动或重新部署以应用更改 .

租户选择用途 --jobdb一个明确的脉冲目标 jobdb, (中文(简体) ), C2J_JOBDB,然后是 c2j 项目设置。 每个目标覆盖整个租户. 失踪 instance_id 值来自 JobDB 部署 URL。 删除已过期 cells 升级时设置。 Pulse需要一个HTTP(S)JobDB租户;c2j的嵌入式数据库不能服务于集装箱工人.

发射服务具有积极的数值优先事项: 1胜2负平等优先服务每批轮流首选。 提供商可以接受一部分批次,而将其余部分降低为倒置.

targets:
  - instance_id: production
    jobdb: https://jobdb.example.com/acme
    jobdb_token_env: JOBDB_TOKEN
    launch_services:
      - {name: runner_pool_a, priority: 1}
      - {name: runner_pool_b, priority: 1}
      - {name: cloud_overflow, priority: 2}

定义这些服务名称 providers 供应 JOBDB_TOKEN 用于认证的 JobDB 发现和租赁收购。 脉搏从不向执行者传递这种广泛的证书. 奥米 jobdb_token_env 进行未经认证的部署。 提供者认证被单独配置 .

何时 providers 已忽略或为空, Pulse 允许本地提供者命名 docker在苹果硅macOS上使用 tart 打开 PATH,它也可以使 tart 使用脉冲-tart默认的两个macOS和四个Linux job VM(每个4 vCPU / 8 GiB;Linux包括多克克). 没有目标 launch_services 偏好优先1的多克,然后优先2的塔尔特,明确提供者地图仍然具有权威性. 默认基础是 ubuntu-26*; 选择 defaults.base: 'macos*' 为macOS的工作。 见 塔尔特和果园配置。 。 。 .

默认的多克池使用守护进程CPU和内存容量,没有容器计数上限和每个容器的256 MiB 会计间接费用. 启动 Docker 引擎或 Docker 桌面 。 Docker直接发射c2j并供应其租借地上自有stdin,没有主机挂载或辅助安装. 见 嵌入器默认并覆盖。 。 。 .

c2j拥有食谱和操作超时; Pulse默认不会强制执行超时. 可选基础设施上限必须明确配置,并由选定的提供者提供支持。 默认是5秒的民意调查间隔,5分钟的租赁期限,60秒的供给-失败回放,以及最多100个工作的批次. 索赔同时有8个电话和一个5秒钟的索赔窗口 claim_concurrency, (中文(简体) ), claim_timeout,以及 batch_size脉冲在提交之前获得租约,而不续签;c2j在启动时续签所提供的租约。 接受或不确定的开始取决于租约到期后才可收回。 确定不启动 解除租赁与退让。 In-memory 冷却只抑制失败; JobDB 所有权幸存控制器重启. 见 配置细节 报告全文 实例。 。 。 .

供应商

提供者类型页:1
本地嵌入器dockerCPU,内存和容器计算预算;没有磁盘配额.
本地塔尔特tartmacOS和Linux ARM64 VM,其中多克包含在Linux来宾上,多克则包含在macOS上;在安装了塔尔特的Apple Silicon Macs上自动启用.
果园orchardmacOS和Linux ARM64 VM; Linux包括多克克克,多克克克被选入一个配置的果园工人上.
远程驾驶服务remote批量提交,部分接受,容量回落.
谷歌云跑任务cloudrun原生工作执行和支持的资源规模.
AWS ECS 远门ecs与执行主管单独任务.
Azure 容器应用程序azurejobs手工工作, 本地执行超时 .

在云环境,在控制器中附加一个服务账户,任务/任务角色,或管理/工作负荷身份. 在其他地方,供应支持环境证书或挂载证书文件。 见 云认证 财务报告和审定财务报表 供应商业务 用于权限、图像要求、容量和资源清理.

HTTP API 密码

持续模式服务于一个公开的、未经认证的、只读的 API :8080。 。 。 . PORT 更改默认端口; http.listen 可以覆盖地址.

获取终点回返
/status版本,运行时间,投票状况.
/config已编辑环境值和 URL 证书配置 .
/instances在所有配置的提供者中执行实例 .
/providers/{provider}/instances从配置的提供者发送一页 .
/scheduler/cooldowns目前的冷却和飞行尝试.
/scheduler/round-robin优先等级和下一个起始服务.
curl http://localhost:8080/status
curl 'http://localhost:8080/providers/runners/instances?page_size=100'

列表包括已队列、 启动和运行实例, 并排除终端实例; 在支持的地方包含暂停/ 停止计算 . run --once, (中文(简体) ), check,以及 version 不启动服务器。 见 HTTP API 文档 对于帕吉化和部分失败.

更多文档

许可证

阿帕奇 - 2.0。 。 。 .

本地提供者插件

使用 type: plugin 运行一个可信任、独立安装的计算提供者。 脉冲启动并监督可执行文件,只交付其配置,并保留不确定的提交结果而无需重放. 见 安装与公共 SDK 编辑 单独的模块参考提供者。 。 。 .

版本与发布记录

@colony2/pulse 共发布 20 个版本,首次发布于 2026/09/24;过去 12 个月发布了 20 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.24latest2026/11/091 天前
0.0.232026/11/091 天前
0.0.222026/11/055 天前
0.0.212026/11/046 天前
0.0.202026/11/028 天前
0.0.192026/11/028 天前

关于 @colony2/pulse 的常见问题

@colony2/pulse 是什么?

C2j 作业的容器调节计算

如何安装 @colony2/pulse?

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

@colony2/pulse 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/colony2__pulse 是否存在。

@colony2/pulse 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@colony2/pulse 可以商用吗?

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

@colony2/pulse 的下载量有多少?

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

@colony2/pulse 还在维护吗?

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