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.
- Documentation: wiki | apidocs
- ⭐ Deployment GUI: source code | wiki
Packages are built continuously with Bamboo.
Docker compose scripts are available for Deployment Manager and dummy Deployment Agents.
wget https://pipelines.linksmart.eu/artifact/CPSW-DTB/shared/build-latest/Debian-packages/linksmart-deployment-agent.deb
sudo apt install ./deployment-agent-linux-arm.deb
Within the root of the repository:
go build -o bin/manager ./manager
go build -o bin/agent ./agent
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
git clone <repo-addr> src/code.linksmart.eu/dt/deployment-tool
export GOPATH=$(pwd)
go build -v code.linksmart.eu/dt/deployment-tool/agent
Locally:
go test ./tests -v -failfast
In a docker container:
docker network create test-network
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v $(pwd):$(pwd) -w $(pwd) --network=test-network -e EXTERNAL-NETWORK=test-network golang:1.12 go test ./tests -v -failfast
docker network remove test-network
- ZeroMQ v4.x.x.
Runtime: libzmq5, Build: libzmq3-dev
Contributions are welcome.
Please fork, make your changes, and submit a pull request. For major changes, please open an issue first and discuss it with the other authors.
This work is supported by the European Commission through the CPSwarm H2020 project under grant no. 731946.