Skip to content

Latest commit

 

History

History
132 lines (92 loc) · 5.14 KB

File metadata and controls

132 lines (92 loc) · 5.14 KB

Controller

CI Release Version Node.js License Ship Supports amd64 Architecture Supports aarch64 Architecture

Upstream: eclipse-iofog/Controller · Datasance mirror: Datasance/Controller

Cloud-native control plane for edge fleets. Controller orchestrates Edgelet nodes, microservices, routing, NATS messaging, RBAC, and certificates. v3.8 is a greenfield release: Edgelet only — v3.7 legacy field agents are not supported.

See CONTRIBUTING for the dual-mirror repository model, CI/release workflows, and per-mirror GitHub Actions variables.

Platforms

Artifact amd64 arm64 Notes
Container image yes yes Primary distribution for v3.8
Local dev (Node 24) yes yes npm run start-dev

Quick start (container)

Pull a release image from the registry that matches your product line, then run Controller with the API on 51121 and EdgeOps Console on 8008:

Eclipse ioFog

docker run -d --name controller \
  -p 51121:51121 \
  -p 8008:8008 \
  ghcr.io/eclipse-iofog/controller:v3.8.0

Datasance PoT

docker run -d --name controller \
  -p 51121:51121 \
  -p 8008:8008 \
  ghcr.io/datasance/controller:v3.8.0

Verify the API:

curl -s http://localhost:51121/api/v3/status | head

Open EdgeOps Console at http://localhost:8008. For production, set CONTROLLER_PUBLIC_URL, TLS, and an external database (mysql/postgres) — see Documentation below.

Images publish to ${IMAGE_REGISTRY}/controller on v* tags only; both mirrors build from the same commit SHA. See CONTRIBUTING for CI variables.

Edgelet (required agent)

Controller v3.8 requires Edgelet v1.0.0-beta.1+ on the same release train. Install Edgelet on each edge node before provisioning:

Channel GitHub repo Container image
Eclipse (canonical) eclipse-iofog/edgelet ghcr.io/eclipse-iofog/edgelet:<tag>
Datasance mirror Datasance/edgelet ghcr.io/datasance/edgelet:<tag>

Pin: use an Edgelet release tag that matches your Controller version (e.g. v1.0.0-beta.2 with Controller v3.8.0). Identical builds and tags on both mirrors.

Eclipse (canonical)

curl -fsSL https://github.com/eclipse-iofog/edgelet/releases/download/v1.0.0-beta.2/install.sh -o install.sh
chmod +x install.sh
sudo ./install.sh --version=v1.0.0-beta.2
edgelet config --a http://<controller-host>:51121/api/v3/
edgelet provision <provisioning-key>

Datasance mirror

curl -fsSL https://github.com/Datasance/edgelet/releases/download/v1.0.0-beta.2/install.sh -o install.sh
chmod +x install.sh
sudo ./install.sh --version=v1.0.0-beta.2
edgelet config --a http://<controller-host>:51121/api/v3/
edgelet provision <provisioning-key>

Edgelet docs: eclipse-iofog/edgelet

Full platform install

For production ECN / PoT deployments, use the unified platform CLI for your product line:

Product CLI Documentation
Eclipse ioFog iofogctl Eclipse ioFog docs
Datasance PoT potctl Datasance docs

CLI

The container and npm package expose the iofog-controller CLI:

iofog-controller <command> <action> [options]
iofog-controller --help

Local development

Requires Node.js 24.x (nvm use 24):

npm ci --legacy-peer-deps
npm run dev:embedded

API: http://localhost:51121 · Console (embedded or split): set CONSOLE_URL when running EdgeOps Console separately.

Documentation

Topic Doc
Architecture docs/architecture.md
RBAC docs/rbac-reference.md
External OIDC docs/external-oidc-client-setup.md

License

EPL-2.0 — see NOTICE for attribution.