Skip to content

ORCHESTRATION

Ciro Scognamiglio edited this page Jun 21, 2026 · 2 revisions

Node Orchestration and API

This document details the Orchestrator's role in managing the EdgeNet node ecosystem, including repository management and the REST API.

Package Repositories

EdgeNet maintains official repositories for software distribution to nodes.

Debian Repository

  • URL: https://r.planetlab.io/deb
  • GPG Key: https://r.planetlab.io/deb/planetlab.gpg

Orchestrator API Reference

The Orchestrator provides a RESTful API for node management. Most endpoints expect and return JSON. The Orchestrator API is implemented in the EdgeNet Console (see Console)

Base URL

The API is hosted on the Orchestrator domain, typically under the /api/node prefix.

Public Endpoints

GET /install.sh

Returns the shell script for automated NodeManager installation.

GET /cloud-init

Returns a cloud-config YAML for automated cloud deployment.

Node Endpoints

POST /api/node/checkin

Initial registration of a new node.

  • Payload: Hardware specs, OS version, architecture, temporary public key.
  • Response: Assigned Node ID, confirmation of registration.

POST /api/node/ping

Periodic heartbeat from the node.

  • Payload: Node ID, current load, memory/disk usage, service status.
  • Frequency: Every 1-5 minutes.

POST /api/node/wireguard

Exchange of WireGuard configuration.

  • Payload: Node's WireGuard public key.
  • Response: Orchestrator's WireGuard public key, node's assigned internal IP, peer configuration.

Kubernetes Endpoints

POST /api/node/kubernetes/join

Requests credentials to join the cluster.

  • Payload: Node ID.
  • Response: kubeadm join command components (token, CA hash, master endpoint).

POST /api/node/kubernetes/ready

Signals successful cluster integration.

  • Payload: Node ID.

Administrative Endpoints (Authenticated)

These endpoints require a valid Sanctum token.

POST /api/node/activate

Activates a pending node.

GET /api/node/list

Returns a list of all registered nodes and their current status.

POST /api/node/enable/{node}

Enables or disables a specific node.

Clone this wiki locally