-
Notifications
You must be signed in to change notification settings - Fork 0
HOME
Whereas the nodes of a classic Kubernetes cluster all reside in a single datacenter, the EdgeNet extensions to Kubernetes allow a cluster to include nodes distributed across the internet, including nodes contributed by third parties. The EdgeNet node manager is what integrates these distributed nodes into the cluster.
Notably, the node manager is used by the current version of the PlanetLab testbed (https://planetlab.io/), which is itself powered by EdgeNet.
The node manager is a modular Go agent that runs as a systemd service on each contributed node, handling the node's full lifecycle from initial installation and bootstrapping through deployment and orchestration.
- Introduction
- EdgeNet Console
- Features
- Installation and Building
- Node Deployment and Lifecycle
- Node Orchestration and API
- Configuration
- Development
- License
- Contributors
The node manager is a core component of the EdgeNet ecosystem, working in tandem with the EdgeNet Console. It is designed to automate the management of remote nodes. It provides a centralized orchestrator that communicates with nodes, manages their configuration (including WireGuard networking), and integrates them into the Kubernetes cluster.
- Modular Provisioning: Support for multiple backends (Kubernetes, etc.) via a plugin interface.
- Stable Identity: Automatic generation and persistence of WireGuard keypairs and node identity.
- Idempotent Operations: Safe to restart; the agent checks existing state before applying changes.
-
Structured Logging: Uses
zapfor high-performance, structured logging. -
Packaging Support: Easily create
.deband.rpmpackages.
The agent's configuration is managed through flags, environment variables, and a configuration file (defaulting to /etc/edgenet/agent.conf).
Precedence: Flags > Environment Variables > Config File
make testmake lintCopyright © 2026 Sorbonne Université.
This project is licensed under the MIT License; see the LICENSE file for details.