From 58bd26030c98dfed38e6d8d1b76b70ef3b76e0b7 Mon Sep 17 00:00:00 2001 From: mrhid6 Date: Fri, 31 Jul 2026 17:10:59 +0100 Subject: [PATCH] feat: Added ping command --- proto/vantage/v1/vantage.proto | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/proto/vantage/v1/vantage.proto b/proto/vantage/v1/vantage.proto index 5754a39..9d0b0d2 100644 --- a/proto/vantage/v1/vantage.proto +++ b/proto/vantage/v1/vantage.proto @@ -182,9 +182,22 @@ message ServerCommand { RunStepCmd run_step = 6; CleanupWorkspaceCmd cleanup_workspace = 7; OpenProxyCmd open_proxy = 8; + PingCmd ping = 9; } } +// PingCmd is a liveness beat, carrying nothing and requiring no reply. +// +// It exists because gRPC keepalive cannot prove what the agent needs to know. +// Behind an L7 proxy the agent's HTTP/2 connection terminates at the proxy, so +// keepalive pings are answered by the proxy whether or not the server behind it +// is still there. A pod that dies leaves the agent blocked in Recv on a stream +// that will never produce another message and never error — commands are +// dispatched into it and silently lost. Only traffic that originates at the +// server itself distinguishes a live stream from an orphaned one. +message PingCmd { +} + // CleanupWorkspaceCmd tells the agent to recursively remove the run's working // directory once all steps on that server have finished. message CleanupWorkspaceCmd {