@@ -4,11 +4,30 @@ package workflows.v1;
44
55import "buf/validate/validate.proto" ;
66import "google/protobuf/empty.proto" ;
7+ import "tilebox/v1/id.proto" ;
8+ import "workflows/v1/automation.proto" ;
79import "workflows/v1/core.proto" ;
810import "workflows/v1/task.proto" ;
11+ import "workflows/v1/workflows.proto" ;
912
1013// HandshakeRequest is sent by the runner to a worker runtime to discover its capabilities.
11- message HandshakeRequest {}
14+ message HandshakeRequest {
15+ RunnerMetadata metadata = 1 ;
16+ // The cluster that the worker runtime is running on.
17+ workflows.v1.Cluster cluster = 2 ;
18+ // The storage locations that the worker runtime can access, for triggered automations.
19+ repeated StorageLocation locations = 3 ;
20+ }
21+
22+ // Some metadata about the runner that this worker runtime is connected to, to be able to include it in logs and traces.
23+ message RunnerMetadata {
24+ // The id of the runner that this worker runtime is connected to.
25+ tilebox.v1.ID runner_id = 1 ;
26+ // The traceparent that should be used for any traces emitted by this worker runtime (outside of task execution,
27+ // which has its own traceparent propagation from jobs). This allows us to correlate any logs and traces emitted
28+ // by the worker runtime with the runner that it's connected to.
29+ string traceparent = 2 ;
30+ }
1231
1332// HandshakeResponse is the response to a handshake request, containing the task identifiers that the worker can execute.
1433message HandshakeResponse {
0 commit comments