@alienplatform/commands
向异形部署发送命令或从任何节点或Bun接收命令
进程。 对于主机外星,普通应用程序不需要 alien.ts,管理器 URL,或
手工铸造的代币. 软件包为纯类型脚本 fetch。 。 。 .
安装
npm install @alienplatform/commands
需要节点18+或Bun 1.0.23+.
从外部应用程序发送
连接部署 ID 和服务器侧外星 API 密钥 :
import { CommandsClient } from "@alienplatform/commands"
const commands = await CommandsClient.forDeployment({
deploymentId: "dep_123",
apiKey: process.env.ALIEN_API_KEY!,
})
const result = await commands
.target("image-processor")
.invoke<{ ok: boolean }>("health-check", {})
外星人发现部署的现任经理 和薄荷薄荷短命, 仅命令访问。 API 密钥只发送到外星 API; 客户端使用 与经理的短暂的证书, 并在内部刷新.
在外部应用程序中接收
指定命令启动的容器或守护进程
import { createCommandReceiver } from "@alienplatform/commands"
const receiver = createCommandReceiver({
deploymentId: "dep_123",
apiKey: process.env.ALIEN_API_KEY!,
target: "image-processor",
})
receiver.command("health-check", async () => ({ ok: true }))
process.on("SIGTERM", () => receiver.stop())
await receiver.run()
目标明确,因为一项部署可包含若干项
指挥能力资源。 发现开始于 run() 开始; 异形决定
目标是否是集装箱或守护进程,并发布短时间访问权限
仅限于部署和目标.
外星人部署的应用程序仍然是零配置,因为外星人注射了接收器 身份和全权证书:
const receiver = createCommandReceiver()
receiver.command("health-check", async () => ({ ok: true }))
await receiver.run()
自管经理
明确建造器仍可供自宿和当地使用 发展:
const commands = new CommandsClient({
managerUrl: "http://localhost:8080",
deploymentId: "dep_123",
token: process.env.ALIEN_COMMANDS_TOKEN!,
})
对于明确的接收器,配置现有的 ALIEN_COMMANDS_*
环境变量和呼叫 createCommandReceiver()。 。 。 .
两者都接受 platformUrl 当异形平台 API 不在时
https://api.alien.dev。 。 。 .
断开的安装集 ALIEN_COMMANDS_DISABLED=true 用于具有指挥能力
工作量。 接收器接受处理器注册并等待到 stop() 无
进行网络请求。 没有这个明确的设置, 缺少接收器配置
启动时仍然失败 .