Skip to content

eclipse-iofog/Controller

Repository files navigation

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-rc.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-rc.1 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-rc.1/install.sh -o install.sh
chmod +x install.sh
sudo ./install.sh --version=v1.0.0-rc.1
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-rc.1/install.sh -o install.sh
chmod +x install.sh
sudo ./install.sh --version=v1.0.0-rc.1
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.

About

A cloud-native operations Controller for managing edge computing workloads, edgelet nodes, and deployments across Eclipse IoFog.

Topics

Resources

License

Contributing

Security policy

Stars

67 stars

Watchers

17 watching

Forks

Packages

 
 
 

Contributors

Languages