Skip to content

Register

POST
/otterscale.link.v1.LinkService/Register

Register allows an agent to register itself with the tunnel server. The agent sends its cluster identity and tunnel port; the server responds with its fingerprint so the agent can verify the tunnel connection.

Connect-Protocol-Version
required
Connect-Protocol-Version

Define the version of the Connect protocol

number
Allowed values: 1
Connect-Timeout-Ms
Connect-Timeout-Ms

Define the timeout, in ms

number
RegisterRequest

RegisterRequest contains the agent’s cluster identity and a CSR for mTLS certificate issuance.

object
cluster
cluster

The cluster identifier this agent belongs to.

string
csr
csr

PEM-encoded PKCS#10 certificate signing request. The server signs this with its internal CA and returns the issued certificate.

string format: byte
agentId
agent_id

The agent identifier this agent uses to register with the server.

string
agentVersion
agent_version

The version of the agent binary (e.g. “v1.2.3”), set at build time.

string

Success

RegisterResponse

RegisterResponse contains a CA-signed certificate and the CA certificate so the agent can establish an mTLS tunnel connection.

object
endpoint
endpoint

The loopback endpoint reserved for this cluster tunnel.

string
certificate
certificate

PEM-encoded X.509 certificate signed by the server’s CA.

string format: byte
caCertificate
ca_certificate

PEM-encoded CA certificate for verifying the tunnel server.

string format: byte
serverVersion
server_version

The version of the server binary (e.g. “v1.2.3”), set at build time. Agents compare this against their own version to decide whether a self-update is needed.

string

Error

Connect Error
object
code

The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

string
Allowed values: canceled unknown invalid_argument deadline_exceeded not_found already_exists permission_denied resource_exhausted failed_precondition aborted out_of_range unimplemented internal unavailable data_loss unauthenticated
message

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

string
details

A list of messages that carry the error details. There is no limit on the number of messages.

Array<object>

Contains an arbitrary serialized message along with a @type that describes the type of the serialized message, with an additional debug field for ConnectRPC error details.

object
type

A URL that acts as a globally unique identifier for the type of the serialized message. For example: type.googleapis.com/google.rpc.ErrorInfo. This is used to determine the schema of the data in the value field and is the discriminator for the debug field.

string
value

The Protobuf message, serialized as bytes and base64-encoded. The specific message type is identified by the type field.

string format: binary
debug
One of: discriminator: type
Any

Detailed error information.

object
key
additional properties
any
key
additional properties
any
key
additional properties
any