Skip to content

qbee-io/qbee-agent

Repository files navigation

qbee-agent v2

qbee-agent is the software running on Linux devices which are managed by the qbee.io IoT device management platform. For more information about the platform, please see our documentation.

License

The qbee-agent is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Releasing new version

Prerequisites

Go version 1.20 or higher (use the go version manager: https://github.com/moovweb/gvm)

$ go version
go version go1.20.3 linux/amd64

fpm (https://github.com/jordansissel/fpm)

sudo apt install ruby
sudo gem install fpm

Other dependencies (some usually installed on Linux systems already):

sudo apt install awscli gzip coreutils make

Install the gh cli

sudo snap install gh

Build packages

Package versions will by default be 0000.00. Set the VERSION environment variable to override. We're currently building deb and rpm packages in addition to a tarball to be used in YOCTO or any custom package builds.

export VERSION=<version>
./script/build-packages

These packages can be tested without a general release

Simple test of the packages

Run simple tests on the built packages (TBD)

Uploading packages

Make sure you have your AWS environment credentials for production

env | grep AWS_
[...]
AWS_SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY>
AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID>
[...]

Upload packages to our S3 backed CloudFront. If the VERSION is prefixed with ^20 we overwrite move the latest version pointer (https://cdn.qbee.io/software/qbee-agent/latest.txt) to point to this version. We are also uploading the release to GitHub. Remember to to log into github first.

gh auth login
./script/upload-release