Skip to main content
POST
Sidecar Handshake

Headers

hoop-sidecar-token
string

The token returned when the sidecar was created. Omit it when sending hoop-sidecar-identity.

hoop-sidecar-identity
string

A Kubernetes or Google service account JWT, raw, that a sidecar service account mapping allows. Omit it when sending hoop-sidecar-token.

hoop-sidecar-capabilities
string

Comma-separated served-document features this sidecar decodes, such as review_mode, and behaviours it has, such as session_events. Absent means a build too old to report.

Body

application/json

The request body resource

version
string
required

Version of the sidecar binary

Example:

"1.0.0"

applied_revision
string

AppliedRevision is the hoop-sidecar-config-revision of the last configuration this sidecar actually took on, which is not necessarily the last one it was served: a document it refused, or one needing a restart, leaves this at the revision still running.

Optional. A sidecar too old to report it, or one that has handled no document yet, sends nothing and is reported as unknown rather than as converged.

Example:

"8f14e45fceea167a5a36dedd4bea2543"

last_error
string

LastError is the reason, when LastOutcome is refused, restart or not_served. Shown on the sidecar page so an admin reads it without the sidecar's log.

Optional. A build from before the field sends nothing.

Example:

"the config file sent a config this build refuses: parse config: json: unknown field \"future_key\""

last_outcome
string

LastOutcome is what this sidecar concluded about that configuration: applied, restart, refused, unchanged or retry. It is the only way to tell a sidecar enforcing the current rules from one that refused them and kept the old ones while still handshaking on time. One more value is the control plane's own: not_served, when it refused to serve this build the configuration, with LastError saying why.

Optional, for the same reason as AppliedRevision.

Example:

"applied"

local_configuration
object

LocalConfiguration is the sidecar's config file, without license and control_plane_url, sent while the file is its source. For a sidecar with no stored configuration the control plane answers load_from_disk instead of 412, so the sidecar keeps its file until an admin moves the configuration. Optional: a build from before the field sends nothing and imports its file on the 412.

Response

OK

The response is of type object.