@@ -9,6 +9,7 @@ import "google/protobuf/empty.proto";
99import "google/protobuf/struct.proto" ;
1010import "google/protobuf/timestamp.proto" ;
1111import "jumpstarter/v1/kubernetes.proto" ;
12+ import "jumpstarter/v1/common.proto" ;
1213
1314// A service where a exporter can connect to make itself available
1415service ControllerService {
@@ -21,6 +22,10 @@ service ControllerService {
2122 // has been invalidated
2223 rpc Unregister (UnregisterRequest ) returns (UnregisterResponse );
2324
25+ // Exporter status report
26+ // Allows exporters to report their own status to the controller
27+ rpc ReportStatus (ReportStatusRequest ) returns (ReportStatusResponse );
28+
2429 // Exporter listening
2530 // Returns stream tokens for accepting incoming client connections
2631 rpc Listen (ListenRequest ) returns (stream ListenResponse );
@@ -59,7 +64,7 @@ message RegisterRequest {
5964}
6065
6166message DriverInstanceReport {
62- string uuid = 1 ; // a unique id within the expoter
67+ string uuid = 1 ; // a unique id within the exporter
6368 optional string parent_uuid = 2 ; // optional, if device has a parent device
6469 map <string , string > labels = 3 ;
6570}
@@ -109,6 +114,13 @@ message AuditStreamRequest {
109114 string message = 4 ;
110115}
111116
117+ message ReportStatusRequest {
118+ ExporterStatus status = 1 ;
119+ optional string message = 2 ; // Optional human-readable status message
120+ }
121+
122+ message ReportStatusResponse {}
123+
112124// A service a exporter can share locally to be used without a server
113125// Channel/Call credentials are used to authenticate the client, and routing to the right exporter
114126service ExporterService {
@@ -118,6 +130,7 @@ service ExporterService {
118130 rpc StreamingDriverCall (StreamingDriverCallRequest ) returns (stream StreamingDriverCallResponse );
119131 rpc LogStream (google .protobuf .Empty ) returns (stream LogStreamResponse );
120132 rpc Reset (ResetRequest ) returns (ResetResponse );
133+ rpc GetStatus (GetStatusRequest ) returns (GetStatusResponse );
121134}
122135
123136message GetReportResponse {
@@ -163,6 +176,7 @@ message LogStreamResponse {
163176 string uuid = 1 ;
164177 string severity = 2 ;
165178 string message = 3 ;
179+ optional LogSource source = 4 ; // New optional field
166180}
167181
168182message ResetRequest {}
@@ -201,3 +215,10 @@ message ListLeasesRequest {}
201215message ListLeasesResponse {
202216 repeated string names = 1 ;
203217}
218+
219+ message GetStatusRequest {}
220+
221+ message GetStatusResponse {
222+ ExporterStatus status = 1 ;
223+ optional string message = 2 ;
224+ }
0 commit comments