For our recommended production workflow, we recommend some extra security procedures. Before you can follow these procedures, you need to install our garage-deploy tool first.

We currently provide released versions of garage-deploy for Ubuntu 18.04 (Bionic) and Ubuntu 16.04 (Xenial) which are available on https://github.com/advancedtelematic/aktualizr/releases/tag/2018.13.

Installation instructions

Ubuntu 18.04 or 16.04

To install garage-deploy on an Ubuntu 18.04 machine, download the garage-deploy package and install it with the following command:

wget https://github.com/advancedtelematic/aktualizr/releases/download/2018.13/garage_deploy-ubuntu_18.04.deb
sudo apt install ./garage_deploy-ubuntu_18.04.deb

For Ubuntu 16.04:

wget https://github.com/advancedtelematic/aktualizr/releases/download/2018.13/garage_deploy-ubuntu_16.04.deb
sudo apt install ./garage_deploy-ubuntu_16.04.deb

Other debian-based distros or versions

If you’re using another version of Ubuntu, or another Debian-based distribution that we don’t provide packages for, you can build a .deb yourself. Check out aktualizr, install the required dependencies listed here (exact package names may vary) and build the deb package yourself:

git clone --branch 2018.13 --recursive https://github.com/advancedtelematic/aktualizr
sudo apt install asn1c build-essential clang clang-check-3.8 clang-format-3.8 clang-tidy-3.8 cmake curl \
  doxygen graphviz lcov libarchive-dev libboost-dev libboost-filesystem-dev libboost-log-dev \
  libboost-program-options-dev libboost-serialization-dev libboost-iostreams-dev libcurl4-openssl-dev \
  libdpkg-dev libostree-dev libp11-2 libp11-dev libpthread-stubs0-dev libsodium-dev libsqlite3-dev \
  libssl-dev libsystemd-dev
cd aktualizr
mkdir build
cd build
cmake -DBUILD_SOTA_TOOLS=ON ..
make package
sudo apt install ./garage_deploy.deb

Binaries for other distros

If you’re using a non-debian-based distro, you will need to build and install the binary directly.

First, install the required dependencies listed here. (These are the Ubuntu package names; the packages may be named differently in your distro’s repositories.) Then, you can build as above, but with garage-deploy as the make target:

git clone --branch 2018.13 --recursive https://github.com/advancedtelematic/aktualizr
cd aktualizr
mkdir build
cd build
cmake -DBUILD_SOTA_TOOLS=ON ..
make garage-deploy
sudo apt install ./garage_deploy.deb

The executable will be available in build/src/sota_tools/garage-deploy.

Usage

Once you’ve installed garage-deploy tool, you’re ready to perform the following tasks:

  • Move device images from one account to another—​for example, to send a development build to the QA team, or to send a release candidate to the deployment team.

  • Create offline signing keys that you manage yourself and rotate out the installed online keys.

    For more information, see "Rotate signing keys".