Agent press_url 手动 sed

Ansible playbook 执行 agent setup config 时未传 --press-url 参数,Agent config.json 的 press_url 默认写 https://frappecloud.com。Agent 连接不上我们的 Press。


1. 归属

问题答案
属于哪个仓库?Ansible playbook 变量。Agent 代码支持 --press-url 参数,playbook 没传
在容器内路径?宿主机 /home/frappe/agent/config.json(press_url 字段)
在构建链的哪一步?Ansible Setup Server 阶段

2. 功能解释

press_url 做什么?

Agent 用这个 URL 向 Press 注册自己(WebSocket 长连接),接收 Press 推送的 Job。写错 URL → Agent 连不上 Press → 所有 Job Undelivered。


3. 为什么会出现这个问题

agent setup config--press-url 默认值是 https://frappecloud.com。Frappe Cloud 的用户不需要改。自建 Press 必须改,但 Ansible playbook 里漏了传这个参数。


4. 补丁/修改做了什么

sed -i 's|https://frappecloud.com|https://os.getgrowth.app|g' /home/frappe/agent/config.json && supervisorctl restart

5. 性质判断

配置遗漏,非 hack。Agent 本身支持正确的 press_url,只是部署时忘了传。这个问题不限于 n+f 合并——4 VPS 架构下 n-B、f-B、m-B 三台机器都需要正确传 --press-url


6. 正确做法

Ansible playbook 加 --press-url https://os.solar-flow.ai。全新部署时在 Playbook 变量里设好,一次到位。


7. 影响范围

  • 所有 Agent Job 的投递
  • 容器重建后重现(press_url 由 playbook 写入,不是永久配置)