NetworkNode network.node@1

Generated at from openvibe-contracts v0.76.0 and openvibe-sdk v0.20.1.

Version
1.0.0
Owner
network
Visibility
public
Status
active
Compatibility
backward
Decision
ADR-034
Schema
https://openvibe.network/contracts/network/node.v1.json

network.node@1: one machine of the OpenVibe platform as the node registry lists it (ADR-034 section 12; roadmap WS-X1). Roles are what it serves; location is region-level; the beacon is an HTTPS URL a client times to measure its own round trip. No addresses, capacity or secrets are public: a node is found by role and location, and reached through the service that uses it.

Fields

FieldTypeRequiredDescriptionConstraints
idstringyes
  • pattern ^[a-z][a-z0-9-]{1,39}$
namestring
  • maxLength 80
rolesarray of enumyes
  • minItems 1
  • unique items
  • items: one of "web", "app", "data", "media-worker", "ingest", "edge-probe", "edge-relay", "edge-cache", "gpu", "staging", "ci"
locationobjectyes
  • no other fields
location.regionstringyese.g. us-west, eu-central
  • pattern ^[a-z]{2}-[a-z]+(-[0-9])?$
location.countrystringyes
  • pattern ^[A-Z]{2}$
location.citystring
  • maxLength 80
location.latnumber
  • minimum -90
  • maximum 90
location.lonnumber
  • minimum -180
  • maximum 180
providerstring
  • maxLength 40
beaconstringTimed by clients (GET, tiny body, no caching) to measure round-trip time.
  • pattern ^https://
  • format uri
healthobjectyes
  • no other fields
health.statusenumyes
  • one of "up", "degraded", "down", "unknown"
health.checked_atstringyes
  • format date-time
updated_atstringyes
  • format date-time

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: minimal-edge
{
  "id": "probe-fra",
  "roles": [
    "edge-probe",
    "edge-relay"
  ],
  "location": {
    "region": "eu-central",
    "country": "DE"
  },
  "health": {
    "status": "unknown",
    "checked_at": "2026-09-28T12:00:00Z"
  },
  "updated_at": "2026-09-28T12:00:00Z"
}
Valid: oregon
{
  "id": "oregon-1",
  "name": "Oregon 1",
  "roles": [
    "web",
    "app",
    "data",
    "ingest"
  ],
  "location": {
    "region": "us-west",
    "country": "US",
    "city": "Hillsboro",
    "lat": 45.52,
    "lon": -122.99
  },
  "provider": "ovh",
  "beacon": "https://openvibe.network/api/v1/nodes/oregon-1/beacon",
  "health": {
    "status": "up",
    "checked_at": "2026-09-28T12:00:00Z"
  },
  "updated_at": "2026-09-28T12:00:00Z"
}
Rejected: bad-country
{
  "id": "oregon-1",
  "name": "Oregon 1",
  "roles": [
    "web",
    "app",
    "data",
    "ingest"
  ],
  "location": {
    "region": "us-west",
    "country": "usa",
    "city": "Hillsboro",
    "lat": 45.52,
    "lon": -122.99
  },
  "provider": "ovh",
  "beacon": "https://openvibe.network/api/v1/nodes/oregon-1/beacon",
  "health": {
    "status": "up",
    "checked_at": "2026-09-28T12:00:00Z"
  },
  "updated_at": "2026-09-28T12:00:00Z"
}
Rejected: plain-http-beacon
{
  "id": "oregon-1",
  "name": "Oregon 1",
  "roles": [
    "web",
    "app",
    "data",
    "ingest"
  ],
  "location": {
    "region": "us-west",
    "country": "US",
    "city": "Hillsboro",
    "lat": 45.52,
    "lon": -122.99
  },
  "provider": "ovh",
  "beacon": "http://openvibe.network/api/v1/nodes/oregon-1/beacon",
  "health": {
    "status": "up",
    "checked_at": "2026-09-28T12:00:00Z"
  },
  "updated_at": "2026-09-28T12:00:00Z"
}
Rejected: public-address
{
  "id": "oregon-1",
  "name": "Oregon 1",
  "roles": [
    "web",
    "app",
    "data",
    "ingest"
  ],
  "location": {
    "region": "us-west",
    "country": "US",
    "city": "Hillsboro",
    "lat": 45.52,
    "lon": -122.99
  },
  "address": "15.204.79.215",
  "beacon": "https://openvibe.network/api/v1/nodes/oregon-1/beacon",
  "health": {
    "status": "up",
    "checked_at": "2026-09-28T12:00:00Z"
  },
  "updated_at": "2026-09-28T12:00:00Z"
}
Rejected: unknown-role
{
  "id": "oregon-1",
  "name": "Oregon 1",
  "roles": [
    "mainframe",
    "app",
    "data",
    "ingest"
  ],
  "location": {
    "region": "us-west",
    "country": "US",
    "city": "Hillsboro",
    "lat": 45.52,
    "lon": -122.99
  },
  "provider": "ovh",
  "beacon": "https://openvibe.network/api/v1/nodes/oregon-1/beacon",
  "health": {
    "status": "up",
    "checked_at": "2026-09-28T12:00:00Z"
  },
  "updated_at": "2026-09-28T12:00:00Z"
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('network.node@1', value);   // { valid, errors: [{ path, message }] }