Sign in
Docs
API referenceCoordinator

API reference

Register a runner

Have a token? Manage tokens in the console
POST
/v1/coordinator/runners

Register a runner for the caller with its public key and its signature over a challenge. A provider identity registered to another person is refused.

Needs scope coordinator:runner.

Authorization

bearer
headerAuthorizationBearer <JWT>

An access token from the identity provider: a person's, or a customer's from the client credentials grant with an API key (developers.inorbit.hr). The gateway verifies it; the audience is iohr-api.

Request Body

iohr.coordinator.v1.RegisterRunnerRequest; path variables override their fields

application/json
  1. body

iohr.coordinator.v1.RegisterRunnerRequest

account_id?string
always_on?boolean
arch?string
capacity?integer
Formatint32
challenge?string
holder_subject?string
identity_sha256?
kinds?array<string>
name?string
os?string
providers?array<>
public_key?string
signature?string
Formatbyte
version?string

Response Body

iohr.coordinator.v1.RegisterRunnerResponse

application/json
  1. response

iohr.coordinator.v1.RegisterRunnerResponse

identity_salt*string
runner?

iohr.coordinator.v1.Runner

import { ApiError, Public } from "@inorbithr/sdk";// Reads INORBIT_TOKEN, or INORBIT_KEY_ID and INORBIT_KEY_SECRET.const api = Public.fromEnv();try {  const { value } = await api.coordinator.registerRunner({    arch: "<arch>",    challenge: "<challenge>",    holder_subject: "<holder_subject>",    kinds: ["<kinds>"],  });  console.log(value);} catch (e) {  if (!(e instanceof ApiError)) throw e;  console.error(`${e.code}: ${e.problem} (request id ${e.raw.requestId})`);  process.exitCode = 1;}

npm install @inorbithr/sdk. Calls the package's public surface; an operation newer than your package needs the next release or a client generated for your account. The SDKs.

Example Response
{  "identity_salt": "string",  "runner": {    "account_id": "string",    "always_on": true,    "arch": "string",    "capacity": 0,    "created_at": "string",    "effective_capacity": 0,    "holder_subject": "string",    "image_digest": "string",    "kinds": [      "string"    ],    "labels": [      "string"    ],    "last_seen_at": "string",    "machine_provider": "string",    "name": "string",    "os": "string",    "pool_id": "string",    "providers": [      {        "method": "string",        "plan_window_until": "string",        "provider": "string",        "signed_in": true      }    ],    "public_key": "string",    "region": "string",    "resources": {      "cpu_cores": 0,      "disk_bytes": "string",      "memory_bytes": "string"    },    "runner_id": "string",    "shed_reason": "string",    "signals": {      "cache_hit_rate": 0.1,      "cpu_throttle_pct": 0.1,      "disks": [        {          "free_bytes": "string",          "mount": "string",          "total_bytes": "string"        }      ],      "load_1m": 0.1,      "psi_cpu": 0.1,      "psi_io": 0.1,      "psi_memory": 0.1,      "temperatures": [        {          "celsius": 0.1,          "limit_celsius": 0.1,          "sensor": "string"        }      ]    },    "signals_at": "string",    "slots_used": 0,    "status": "string",    "trust_tier": "string",    "user": "string",    "version": "string"  }}