Skip to main content
Version: v3.9.0

Edgelet

Edgelet is the engine that runs workloads on a machine. It is the same binary you later attach to a Datasance PoT cluster.

You can install it on a Linux host and use it before any control plane exists. Standalone install uses install.sh and the edgelet CLI on the host. Joining a cluster uses potctl and kind: Agent. An Edgelet node is that cluster member. Those pages start at Edgelet nodes. This section is the engine itself.

Why this binary exists​

Distributed edge sites are small, far away, and often offline. Edgelet is the piece that still runs there.

It has three jobs, and they are the same program:

JobWhat you see
Node agentAn Edgelet node after it joins a Datasance PoT cluster (kind: Agent)
Application runtimeMicroservice lifecycle, images, models, knowledge, volumes, and logs on that machine
Container enginecontainerEngine: edgelet on Linux. The edgelet CLI drives it with no Controller

On Linux the OTA artifact is /usr/local/bin/edgelet, about 30 MB. That file is the CLI. The engine, crun, and the CNI plugins are packed inside it and extracted on first start. A production Linux host does not install Docker or Podman.

Release binaries for Linux are amd64, arm64, arm (32-bit, including armv7), and riscv64. macOS and Windows run the same CLI and daemon against Docker or Podman. They do not embed the engine.

Registries are local objects. Built-in rows are Docker Hub, a from-cache image store, and Hugging Face. You add private OCI registries and private Hub hosts the same way. Model and Knowledge artifacts pull through those rows, then mount into workloads. Fleet catalogs do this from the Controller. A standalone engine does it with edgelet deploy.

Wasm is a catalog runtime on the embedded engine, not a separate install. Handler names such as edgelet-wasmtime are built in. The shim binaries are staged when package.wasm is set. See Container engines.

Standalone engineCluster member
Installinstall.sh on the hostpotctl deploy
Day-2 CLIedgeletpotctl
YAMLapiVersion: edgelet.iofog.org/v1kind: Agent

Pair Edgelet v1.1.0 with platform train v3.9.0.

On Linux the install is two layers. /usr/local/bin/edgelet is the thin binary: the CLI and the OTA entry. The daemon extracts a fat runtime under /var/lib/edgelet/data/current/bin/edgelet when containerEngine is edgelet. macOS and Windows ship one binary and use Docker or Podman. See Architecture.

Two ways work arrives​

SourceHow it arrivesTypical use
Local deployedgelet deploy -f manifest.yamlLab manifests, registries, RuntimeClass, an optional local control plane
Controller syncThe field agent polls the Controller and the process manager reconcilesA provisioned engine in a fleet

Local manifests stay on apiVersion: edgelet.iofog.org/v1. That group is not the fleet apiVersion. Fleet YAML is on Edgelet nodes.

The edgelet CLI talks to Edgelet API on the host (https://127.0.0.1:54321/v1/...). It is not a Controller client. potctl is the Controller client.

Where to go next​

You want toStart here
Install the binaryInstallation
Pick an engine and a service unitDeployment and Init systems
Change config.yamlConfiguration
Apply a local manifestManifests
Pull a model or knowledge artifact on diskModels and Knowledge
Host a Controller container on this engineLocal control plane
Call the on-host APIEdgelet API
Read daemon internalsModules

Fleet upgrade, prune, attach, and debug from potctl stay in Edgelet node management.

Group 3See anything wrong with the document? Help us improve it!