Skip to content
Timur Friedman edited this page Jun 23, 2026 · 7 revisions

EdgeNet Node Manager

Welcome to the NodeManager wiki. EdgeNet Node Manager is a modular Go agent that runs as a systemd service on nodes contributed to the EdgeNet project. It is also used in the PlanetLab testbed (https://planetlab.io).

It handles the full lifecycle of a node from initial installation and bootstrapping to deployment and orchestration.

Table of Contents


Introduction

NodeManager 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.

Features

  • 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 zap for high-performance, structured logging.
  • Packaging Support: Easily create .deb and .rpm packages.

Configuration

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

Development

Running Tests

make test

Linting

make lint

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributors

Copyright

Copyright © 2026 Sorbonne Université.

See the LICENSE file for licensing details.

Clone this wiki locally