Skip to main content
Version: v3.8.0

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

PackageImport pathUse when
Microservices.../pkg/microservicesYour service runs on an Edgelet node and reads config or control signals from EdgeletAPI v1
Client.../pkg/clientYou call the Controller REST API or open exec/log WebSocket sessions
Apps.../pkg/appsYou 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

AreaChange
Module pathNeutral upstream github.com/eclipse-iofog/iofog-go-sdk/v3
Controller clientflows APIs removed; use applications. fogType/fogTypeIdarch/archId. EdgeResource client methods removed (Controller no longer exposes those routes)
Microservice execREST attach/detach removed; dial WebSocket exec sessions instead
Log streamingRemote tail via WebSocket (DialMicroserviceLogs, DialFogLogs, …)
pkg/microservicesEdgeletAPI v1 only (NewDefaultEdgeletAPIClient, /v1/microservices/*). Legacy IoFogClient and messagebus types removed
pkg/apps deploy YAMLDefault apiVersion: iofog.org/v3. Datasance flavor: apps.WithAPIVersion("datasance.com/v3"). Field flowapplication; 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.

TopicPage
Build a microserviceDeveloping microservices
Controller routes and authREST API
Deploy YAML kindsApplication, Microservice
Edgelet runtimeEdgelet introduction
Group 3See anything wrong with the document? Help us improve it!