Railway
连接
从终端连接Railway。传入--help查看Railway接受的标志,在无头环境中再加上--no-browser。
polylane cloud connect --provider railwayOAuth授权。
Railway通过OAuth连接:点击Continue to Railway,在Railway上授权读取访问,然后你会被重定向回来,同步已经开始。令牌在存储前加密,智能体永远看不到它们。
Polylane发现你的项目、环境、服务、部署、卷、域名和TCP代理。服务指标驱动图表和异常检测。变量名称会被同步以用于跨云链接;变量值永远不会被读取。临时(拉取请求)环境会被跳过。
部署和告警Webhook
Railway通过通知规则推送部署状态变化和用量告警。把一条规则指向Polylane,就能在部署失败或崩溃时告警,在下一次成功部署时解除告警,并安排一次重新同步:
- 从Polylane中云账户的Settings页面复制Webhook URL(它以你的Railway工作区ID结尾)。
- 在Railway中,打开你工作区的Notifications设置,添加一条指向该URL的Webhook规则。
- 选择你关心的Deployment事件:
Deployment.deployed、Deployment.failed、Deployment.crashed和Deployment.oom_killed覆盖告警流程(Railway的成功事件是Deployment.deployed;没有Deployment.success)。 - 添加VolumeAlert和Monitor事件,包括
VolumeAlert.resolved和Monitor.resolved,这样卷和监控器告警会在Polylane中自动打开和关闭。
故障排除
授权失败或被取消
- 确保你用一个能访问该工作区的账户登录了Railway。
- 从Continue to Railway重试;授权链接只在几分钟内有效。
缺少资源
- Railway可能需要几分钟才能同步一切。
- 临时(拉取请求)环境不会被同步。
- 从账户头部触发一次手动Sync以刷新。
断开连接
在Polylane中断开该账户,然后在你的Railway账户设置中撤销OAuth授权,如果你创建了通知规则,也把它移除。
从CI作业或任何其他没有浏览器的环境连接Railway。
连接Railway不需要浏览器:控制台调用的同一个端点可以放进CI作业。一次经过身份验证的POST创建连接并启动第一次同步。
前提条件
- 一个具有
cloud_accounts:write和cloud_accounts:read权限范围的Polylane API密钥。参见API密钥与OAuth。 - 你的工作区ID,以
ws_开头。用同一个密钥从GET /v1/workspaces读取它。 - 一个来自你工作区设置的Railway工作区令牌。控制台的OAuth流程需要浏览器;工作区令牌不需要。
创建连接
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "railway",
"workspaceId": "ws_0abc123",
"token": "<railway-workspace-token>"
}'
一次调用连接该令牌可以访问的每个Railway工作区;传入可选的railwayWorkspaceId只连接一个。
响应列出已连接的内容,第一次同步已经在运行。精简为流程其余部分读取的两个字段:
{
"success": true,
"result": {
"provider": "railway",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
已经连接的账户会落在failures而不是accounts中,所以重复调用永远不会产生重复的连接。
等待第一次同步
按id轮询每个返回的账户,直到status达到ready(注册时为new,资源流入时为syncing):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
给循环一个截止时间,让失败的连接使作业失败而不是挂起。账户变为ready后,它的资源已在拓扑中,Polylane已经开始它的第一次检查。
从API断开连接
删除连接会停止所有同步和检查,并删除Polylane持有的凭据。该调用需要cloud_accounts:delete权限范围:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
然后按下方Disconnect所述在提供商侧撤销Railway凭据。
断开连接
断开连接会停止所有同步和检查,并删除Polylane持有的凭据。 Polylane会移除Railway的API允许它移除的内容。以下内容会保留,直到你自己移除:
- OAuth grant
polylane cloud disconnect <id>工具
4智能体可以在线程中执行的操作。
支持的资源
8会出现在你的基础设施图中的资源类型。