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. |
||
|
Record a lifecycle hook transition for the exporter’s lease. The record survives exporter restarts. Exporters start a hook only after the controller has stored it as running. Returns FAILED_PRECONDITION for a transition the record does not allow (for example a stale lease). |
||
|
Rotate the authentication token for the exporter. |
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. |
|
|
3 |
|
The exporter records its lease hooks (UpdateLeaseHooks). The controller then holds it from new leases while its record owes an afterLease hook, whatever status it reports. |
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. |
|
|
5 |
Hook record of the exporter’s latest lease. Always set by controllers that keep it, even when empty. |
||
|
6 |
|
optional |
UID of the active lease, if any. Tells it apart from an earlier lease with the same name. |
LeaseHookState¶
State of one lease lifecycle hook.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
Phase of the hook. |
||
|
2 |
Failure action configured when the hook ran. |
||
|
3 |
|
Failure or skip reason, if any. |
|
|
4 |
|
Times the hook was started |
LeaseHooks¶
Lifecycle hook record of an exporter’s latest lease, kept by the controller.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Lease the record belongs to |
|
|
2 |
beforeLease hook |
||
|
3 |
afterLease hook |
||
|
4 |
|
UID of the lease the record belongs to. A lease name can be reused once the lease is deleted. |
|
|
5 |
|
Client that held the lease, for hooks that run after the lease has ended. |
UpdateLeaseHooksRequest¶
Request to record a lifecycle hook transition for a lease.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
Lease the hook runs for. |
|
|
2 |
oneof hook |
New beforeLease hook state. |
|
|
3 |
oneof hook |
New afterLease hook state. |
|
|
4 |
|
UID of the lease the hook runs for (required). |
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”). |
|
|
4 |
|
Bearer token for TelemetryService calls, naming the caller’s exporter or client. It is valid only for telemetry and never outlives the credential that requested it. Call GetServiceEndpoints again for a new one before token_expiry. |
|
|
5 |
|
When token expires. |
RotateTokenRequest¶
Request to rotate the authentication token for an exporter.
No fields defined.
RotateTokenResponse¶
Response containing the newly rotated token.
Field |
Number |
Type |
Label |
Description |
|---|---|---|---|---|
|
1 |
|
The new authentication token. |
|
|
2 |
|
The expiration time of the new token. |
Enums¶
LeaseHookPhase¶
Phase of a lease lifecycle hook.
Name |
Number |
Description |
|---|---|---|
|
0 |
Not started. |
|
1 |
Started |
|
2 |
Finished successfully. |
|
3 |
Failed |
|
4 |
Not run (not configured, or not needed for this lease). |
LeaseHookFailureAction¶
Failure action configured for a lease lifecycle hook (onFailure).
Name |
Number |
Description |
|---|---|---|
|
0 |
|
|
1 |
Continue and warn. |
|
2 |
End the lease. |
|
3 |
End the lease and take the exporter offline. |