Skip to content
Over-the-air software deployment on IoT devices
Go Shell Dockerfile
Branch: master
Clone or download
Pull request Compare This branch is 3 commits ahead, 1 commit behind cpswarm:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
agent
build
examples
manager
tests
ui @ 579447b
vendor
.gitattributes
.gitignore
.gitmodules
.travis.yml
LICENSE
README.md
go.mod
go.sum

README.md

CPSwarm Deployment Tool

GoDoc Go Report Card Docker Pulls GitHub tag (latest SemVer) Build Status

The CPSwarm Deployment Tool is a lightweight software deployment system for IoT devices. It aims to provide secure, practical, and easy to use utilities for over-the-air (OTA) provisioning of software on single-board computers (e.g. Raspberry Pi). The project is currently under active development.

CPSwarm Deployment Tool - Conceptual Diagram

Links

Development Status

  • Graphical User Interface (separate repo)
  • Package Build
  • Package Transfer
  • Package Installation
  • Package Execution
  • Key Management
  • Tamper Detection

Install

Packages are built continuously here.

Docker

Docker compose scripts are available for Deployment Manager and dummy Deployment Agents.

Install on Debian ARM

wget https://pipelines.linksmart.eu/browse/CPSW-DTB/latest/artifact/shared/Debian-Package/deployment-agent-linux-arm.deb
sudo apt install ./deployment-agent-linux-arm.deb

Compile from source

Within the root of the repository:

go build -o bin/manager ./manager
go build -o bin/agent  ./agent

Using Go < 1.11

git clone <repo-addr> src/code.linksmart.eu/dt/deployment-tool
export GOPATH=$(pwd)
go build -v code.linksmart.eu/dt/deployment-tool/agent

Build with static linking

CGO_CPPFLAGS="-I/usr/include" CGO_LDFLAGS="-L/usr/lib -lzmq -lpthread -lrt -lstdc++ -lm -lc -lgcc" go build -v --ldflags '-extldflags "-static"' -a -o bin/agent ./agent

Run tests

 go test ./tests -v -failfast

Dependencies

You can’t perform that action at this time.