Make VPN fabric telemetry carrier neutral
This commit is contained in:
@@ -2861,7 +2861,8 @@ func heartbeatPayload(cfg config.Config, identity state.Identity, meshState *syn
|
|||||||
report := map[string]any{
|
report := map[string]any{
|
||||||
"schema_version": "rap.vpn_fabric_session_transport_report.v1",
|
"schema_version": "rap.vpn_fabric_session_transport_report.v1",
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"transport": "fabric_session_websocket_binary_frames",
|
"transport": "fabric_session_binary_frames",
|
||||||
|
"carriers": []string{"quic", "websocket"},
|
||||||
"packet_payload": "rap.vpn_packet_batch.fabric.v1",
|
"packet_payload": "rap.vpn_packet_batch.fabric.v1",
|
||||||
"gated": true,
|
"gated": true,
|
||||||
"observed_at": observedAt.UTC().Format(time.RFC3339Nano),
|
"observed_at": observedAt.UTC().Format(time.RFC3339Nano),
|
||||||
|
|||||||
@@ -750,6 +750,7 @@ func TestHeartbeatPayloadIncludesMeshEndpointReport(t *testing.T) {
|
|||||||
}
|
}
|
||||||
if report, ok := payload.Metadata["vpn_fabric_session_transport_report"].(map[string]any); !ok ||
|
if report, ok := payload.Metadata["vpn_fabric_session_transport_report"].(map[string]any); !ok ||
|
||||||
report["packet_payload"] != "rap.vpn_packet_batch.fabric.v1" ||
|
report["packet_payload"] != "rap.vpn_packet_batch.fabric.v1" ||
|
||||||
|
report["transport"] != "fabric_session_binary_frames" ||
|
||||||
report["peer_sessions"] == nil {
|
report["peer_sessions"] == nil {
|
||||||
t.Fatalf("vpn fabric session report missing: %+v", payload.Metadata)
|
t.Fatalf("vpn fabric session report missing: %+v", payload.Metadata)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -333,6 +333,9 @@ bonus.
|
|||||||
Endpoint health observations are now emitted as a bounded standalone heartbeat
|
Endpoint health observations are now emitted as a bounded standalone heartbeat
|
||||||
report (`rap.vpn_fabric_endpoint_health_report.v1`) so control plane can ingest
|
report (`rap.vpn_fabric_endpoint_health_report.v1`) so control plane can ingest
|
||||||
candidate feedback without parsing the transport diagnostics blob.
|
candidate feedback without parsing the transport diagnostics blob.
|
||||||
|
VPN fabric-session transport telemetry is carrier-neutral
|
||||||
|
(`fabric_session_binary_frames`) and reports QUIC/WebSocket as available
|
||||||
|
carriers instead of describing the dataplane as WebSocket-only.
|
||||||
|
|
||||||
Deliverables:
|
Deliverables:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user