The nico-rest-site-agent StatefulSet has no application readiness signal. Kubernetes can mark each container Ready—and Helm can complete a rollout—while the process is still establishing its NICo Core gRPC client. Slow or failed dependencies can therefore look like a healthy rollout, and a partially working replica set is easy to miss until workflows fail.
Add an application-owned readiness contract. Good options are:
- an HTTP
/readyz endpoint that returns 200 only when required clients and workers are ready, wired to a StatefulSet readinessProbe;
- the standard gRPC health service with a Kubernetes gRPC probe;
- a
startupProbe as well when the existing dependency retry window needs a longer startup allowance.
The signal should be bounded, per replica, and tested through dependency failure and recovery. If runtime unready state must stop Temporal work, couple it to the worker lifecycle; Kubernetes readiness alone only affects rollout status and Service endpoints. Avoid log scraping, fixed sleeps, and restart loops as substitutes.
The
nico-rest-site-agentStatefulSet has no application readiness signal. Kubernetes can mark each container Ready—and Helm can complete a rollout—while the process is still establishing its NICo Core gRPC client. Slow or failed dependencies can therefore look like a healthy rollout, and a partially working replica set is easy to miss until workflows fail.Add an application-owned readiness contract. Good options are:
/readyzendpoint that returns200only when required clients and workers are ready, wired to a StatefulSetreadinessProbe;startupProbeas well when the existing dependency retry window needs a longer startup allowance.The signal should be bounded, per replica, and tested through dependency failure and recovery. If runtime unready state must stop Temporal work, couple it to the worker lifecycle; Kubernetes readiness alone only affects rollout status and Service endpoints. Avoid log scraping, fixed sleeps, and restart loops as substitutes.