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. |
||
|
stream |
|
Stream audit events from the exporters. Audit events are used to track the exporter activity. |
|
Retrieve a lease by name. |
||
|
Request a new lease for an exporter. |
||
|
Release an active lease. |
||
|
List all leases. |
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. |
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. |
AuditStreamRequest¶
An audit event sent from an exporter to the controller.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
UUID of the exporter. |
|
|
2 |
|
UUID of the driver instance. |
|
|
3 |
|
Severity level of the event. |
|
|
4 |
|
Human-readable event message. |
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. |
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. |
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. |