ioFog Go SDK
The ioFog Go SDK (v3.8.0) helps you build microservices that run on Edgelet nodes and automate the Controller REST API. It ships as a single Go module with three packages.
Upstream: eclipse-iofog/iofog-go-sdk · Datasance mirror: Datasance/iofog-go-sdk (same commit SHA; import path is neutral upstream)
Install
Requires Go 1.26.4+ (see go.mod in the repo).
go get github.com/eclipse-iofog/iofog-go-sdk/v3
Import paths use the /v3 suffix:
import "github.com/eclipse-iofog/iofog-go-sdk/v3/pkg/client"
If you still import github.com/datasance/iofog-go-sdk/v3, update to the neutral path above. The Datasance git mirror ships the same code.
Packages
| Package | Import path | Use when |
|---|---|---|
| Microservices | .../pkg/microservices | Your service runs on an Edgelet node and reads config or control signals from EdgeletAPI v1 |
| Client | .../pkg/client | You call the Controller REST API or open exec/log WebSocket sessions |
| Apps | .../pkg/apps | You deploy Application or Microservice YAML programmatically (same helpers as potctl and the Operator) |
For data-plane messaging between microservices, use NATS. The microservices package does not expose legacy LocalAPI v2 messagebus APIs.
v3.8 breaking changes
| Area | Change |
|---|---|
| Module path | Neutral upstream github.com/eclipse-iofog/iofog-go-sdk/v3 |
| Controller client | flows APIs removed; use applications. fogType/fogTypeId → arch/archId. EdgeResource client methods removed (Controller no longer exposes those routes) |
| Microservice exec | REST attach/detach removed; dial WebSocket exec sessions instead |
| Log streaming | Remote tail via WebSocket (DialMicroserviceLogs, DialFogLogs, …) |
pkg/microservices | EdgeletAPI v1 only (NewDefaultEdgeletAPIClient, /v1/microservices/*). Legacy IoFogClient and messagebus types removed |
pkg/apps deploy YAML | Default apiVersion: iofog.org/v3. Datasance flavor: apps.WithAPIVersion("datasance.com/v3"). Field flow → application; image keys amd64, arm64, riscv64, arm |
See Controller REST API for the full v3.7 → v3.8 route map and Migrating to v3.8.0 for platform migration.
API reference
Browse the Controller OpenAPI spec on this site: API reference.
Package READMEs in the repo mirror these docs pages. For edge runtime contracts, see EdgeletAPI.
Related docs
| Topic | Page |
|---|---|
| Build a microservice | Developing microservices |
| Controller routes and auth | REST API |
| Deploy YAML kinds | Application, Microservice |
| Edgelet runtime | Edgelet introduction |