jumpstarter¶
jumpstarter.v1
Services¶
ControllerService¶
A service where an exporter can connect to make itself available.
Method |
Request |
Response |
Description |
|---|---|---|---|
|
Register an exporter with the controller. |
||
|
Unregister an exporter from the controller. Disconnecting will invalidate any existing router tokens. |
||
|
Report exporter status to the controller. |
||
|
stream |
Listen for incoming client connections on a lease. Returns stream tokens for accepting incoming client connections. |
|
|
stream |
Stream lease status updates for the exporter. |
|
|
Dial an exporter through the router. Returns a stream token for connecting to the desired exporter. Leases are checked before token issuance. |
||
|
Retrieve a lease by name. |
||
|
Request a new lease for an exporter. |
||
|
Release an active lease. |
||
|
List all leases. |
||
|
Discover optional service endpoints (e.g. telemetry). Exporters and clients call this after registration to find the telemetry service. Returns an empty list when no optional services are deployed. Older controllers return UNIMPLEMENTED; callers must treat that as an empty list. |
ExporterService¶
A service an exporter can share locally to be used without a server. Channel and call credentials are used to authenticate the client and route to the right exporter.
Method |
Request |
Response |
Description |
|---|---|---|---|
|
|
Retrieve the exporter driver report. |
|
|
Invoke a method on a driver instance. |
||
|
stream |
Invoke a streaming method on a driver instance. |
|
|
|
stream |
Stream log messages from the exporter. |
|
Reset the exporter connection. |
||
|
Retrieve the current exporter status. |
||
|
End the current session, triggering the afterLease hook. The client should keep the connection open to receive hook logs via LogStream. Returns after the afterLease hook completes. |
Messages¶
RegisterRequest¶
Registration request sent by an exporter to the controller.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Key-value metadata labels. |
|
|
2 |
repeated |
Driver instance reports for this exporter. |
DriverInstanceReport¶
Report describing a single driver instance on an exporter.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Unique identifier within the exporter. |
|
|
2 |
|
optional |
Parent device UUID, if this is a child device. |
|
3 |
|
Key-value metadata labels. |
|
|
4 |
|
optional |
Custom driver description for CLI display. |
|
5 |
|
Method name to help text mapping for CLI. |
RegisterResponse¶
Registration response returned by the controller.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Assigned exporter UUID. |
UnregisterRequest¶
Request to unregister an exporter from the controller.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
2 |
|
Reason for unregistering. |
UnregisterResponse¶
Response to an unregister request.
No fields defined.
ListenRequest¶
Request to listen for incoming client connections on a lease.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Name of the lease to listen on. |
ListenResponse¶
Response containing router connection details for an incoming client.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
The router gRPC endpoint URL. |
|
|
2 |
|
Authentication token for the router. |
StatusRequest¶
Request to subscribe to exporter lease status updates.
No fields defined.
StatusResponse¶
Lease status update for an exporter.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Whether the exporter is currently leased. |
|
|
2 |
|
optional |
Name of the active lease, if any. |
|
3 |
|
optional |
Name of the connected client, if any. |
|
4 |
|
User-defined lease context metadata. |
DialRequest¶
Request to dial an exporter through the router.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Name of the lease to connect through. |
DialResponse¶
Response containing router connection details for the dialed exporter.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
The router gRPC endpoint URL. |
|
|
2 |
|
Authentication token for the router. |
ReportStatusRequest¶
Request to report exporter status to the controller.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
Current exporter status. |
||
|
2 |
|
optional |
Optional human-readable status message. |
|
3 |
|
optional |
When true, controller should release the active lease. |
ReportStatusResponse¶
Response to a status report request.
No fields defined.
GetReportResponse¶
Response containing the exporter driver report.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Exporter UUID. |
|
|
2 |
|
Key-value metadata labels. |
|
|
3 |
repeated |
Driver instance reports. |
|
|
4 |
repeated |
Alternative connection endpoints. |
|
|
5 |
|
Message of the day shown to clients when entering a shell. |
Endpoint¶
Connection endpoint with TLS credentials.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
The endpoint URL. |
|
|
2 |
|
Server TLS certificate. |
|
|
3 |
|
Client TLS certificate. |
|
|
4 |
|
Client TLS private key. |
DriverCallRequest¶
Request to invoke a method on a driver instance.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
UUID of the driver instance. |
|
|
2 |
|
Method name to invoke. |
|
|
3 |
|
repeated |
Arguments for the method call. |
DriverCallResponse¶
Response from a driver method invocation.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
UUID of the driver instance. |
|
|
2 |
|
Return value from the method call. |
StreamingDriverCallRequest¶
Request to invoke a streaming method on a driver instance.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
UUID of the driver instance. |
|
|
2 |
|
Method name to invoke. |
|
|
3 |
|
repeated |
Arguments for the method call. |
StreamingDriverCallResponse¶
Response from a streaming driver method invocation.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
UUID of the driver instance. |
|
|
2 |
|
Return value from the method call. |
LogStreamResponse¶
A log message from the exporter log stream.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
UUID of the driver instance. |
|
|
2 |
|
Log severity level. |
|
|
3 |
|
Log message content. |
|
|
4 |
optional |
Source of the log message. |
|
|
5 |
|
optional |
Driver category when source=DRIVER (e.g. “power”, “storage”). |
|
6 |
|
optional |
Operation name when the log is part of a known operation. |
|
7 |
|
optional |
Explicit timestamp of the log entry. |
|
8 |
|
Additional structured key-value fields. |
ResetRequest¶
Request to reset the exporter connection.
No fields defined.
ResetResponse¶
Response to a reset request.
No fields defined.
GetLeaseRequest¶
Request to retrieve a lease by name.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Name of the lease to retrieve. |
GetLeaseResponse¶
Response containing lease details.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Requested lease duration. |
|
|
2 |
Label selector for matching exporters. |
||
|
3 |
|
optional |
Lease start time, if active. |
|
4 |
|
optional |
Lease end time, if active. |
|
5 |
|
optional |
UUID of the assigned exporter, if any. |
|
6 |
repeated |
Lease status conditions. |
RequestLeaseRequest¶
Request to create a new lease for an exporter.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Desired lease duration. |
|
|
2 |
Label selector for matching exporters. |
RequestLeaseResponse¶
Response containing the name of the created lease.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Name of the created lease. |
ReleaseLeaseRequest¶
Request to release an active lease.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Name of the lease to release. |
ReleaseLeaseResponse¶
Response to a release lease request.
No fields defined.
ListLeasesRequest¶
Request to list all leases.
No fields defined.
ListLeasesResponse¶
Response containing the list of lease names.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
repeated |
Names of all leases. |
GetStatusRequest¶
Request to retrieve the current exporter status.
No fields defined.
GetStatusResponse¶
Response containing the current exporter status.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
Current exporter status. |
||
|
2 |
|
optional |
Human-readable status message. |
|
3 |
|
Monotonic counter, increments on each status change. |
|
|
4 |
optional |
Previous status for transition tracking. |
EndSessionRequest¶
Request to end the current exporter session.
No fields defined.
EndSessionResponse¶
Response to an end session request.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Whether the session ended successfully. |
|
|
2 |
|
optional |
Human-readable result message. |
GetServiceEndpointsRequest¶
Request to discover optional service endpoints.
No fields defined.
GetServiceEndpointsResponse¶
Response containing optional service endpoint addresses.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
repeated |
Empty when no optional services (e.g. telemetry) are deployed. |
TelemetryEndpoint¶
Address of an optional telemetry service endpoint.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
gRPC address (host:port). |
|
|
2 |
|
Optional CA certificate PEM for TLS verification. |
|
|
3 |
|
Minimum log severity to forward (e.g. “info”, “warning”). |