Health and network profiles
Health profile
Health profile 决定 verify 阶段如何判断应用是否可用。它应该和用户真实访问路径保持一致,而不是只检查进程是否存在。
常见字段:
- 健康检查类型,例如 HTTP。
- 检查路径,例如
/health。 - 期望状态码。
- interval、timeout、retries 和 start period。
如果没有配置健康检查,Appaloft 可以退回到较弱的运行状态判断,但文档和 UI 应明确这不是完整 readiness。
Network profile
Network profile 描述应用监听端口、协议和代理目标。它回答“代理应该把请求转发到哪里”。
常见字段:
- 应用内部监听端口。
- 协议,例如 HTTP。
- 是否需要代理公开访问。
- 可选的内部 service name 或 target hint。
绑定自定义域名是访问配置,不应该混进基础部署输入。先让 network profile 和默认访问地址可用,再处理域名/TLS。
保存 network profile 是一次 durable resource profile edit。它只影响后续部署准入和路由规划,不会改写历史 deployment snapshot,不会立即应用代理路由,也不会重启当前运行时。
Readiness 失败
如果健康检查失败,先确认应用监听端口、路径、启动耗时和代理目标,再决定重试部署或调整 profile。
排查顺序:
- 查看 runtime logs,确认应用是否启动。
- 确认应用实际监听端口。
- 确认 health path 是否存在并返回期望状态码。
- 确认 start period 是否足够长。
- 确认 proxy readiness 和默认访问地址。
入口说明
Web console 应在资源创建和配置页提供 health/network 字段,并把默认值展示清楚。
CLI 应允许配置 health 和 network profile,并在部署失败时把失败指向对应 profile,而不是只输出 generic failure。
HTTP API 应返回 profile 摘要、最近健康观测和结构化错误。
相关页面:Generated access routes 和 Logs and health。
CLI 示例:
appaloft resource configure-health res_web \ --path /health \ --method GET \ --expected-status 200 \ --interval 5 \ --timeout 5 \ --retries 10 \ --start-period 15appaloft resource configure-network res_web \ --internal-port 3000 \ --upstream-protocol http \ --exposure-mode reverse-proxy