A container that can build/unit-test aktualizr-lite
10K+
aktualizr-lite is an Over-The-Air (OTA) update client targeting embedded systems.
It supports OTA updates for both the operating system (OS) and container-based applications,
ensuring differential, atomic, and authenticated updates.
Security and Authenticity via TUF
The client verifies the authenticity and integrity of both OS and application updates using
TUF (The Update Framework) for robust software supply chain security.
OS Updates with OSTree
OS updates are powered by OSTree, a versioned filesystem
technology that enables differential and atomic system updates using a Git-like model.
Containerized App Updates
Supports updates of container-based applications defined by the Compose Specification,
enabling efficient and modular application delivery.
aktualizr-lite utilizes composectl to update and manage compose apps.
List of aktualizr-lite dependencies.
The Dockerfile defining a Docker container also includes the dependencies required for building and unit testing aktualizr-lite.
git clone --recursive https://github.com/foundriesio/aktualizr-lite
cd aktualizr-lite
If you cloned the repo without --recursive flag run:
git submodule update --init --recursive
Run make to build and/or apply clang-format or clang-tidy utilities.
Use the environment variables to amend the make commands behavior.
[<MAKE ENV VARS>] make [-f dev-flow.mk] <config | build | format | tidy >
The make environment variables are:
BUILD_DIR — a build directory,./build by default;CCACHE_DIR — a ccache directory,./ccache by default;TARGET — a target to build, aklite-test by default. Could be aktualizr-lite if no need to build tests;CXX — a compiler to use, clang++ or the compiler specified in a host's env by default.If -f dev-flow.mk is specified, then the make command is executed on a host, otherwise the foundries/aklite-dev container is used.
A user can specify their own container to run the commands in by overriding CONTAINER environment variable.
[<MAKE ENV VARS>] make [-f dev-flow.mk] test
The make environment variables are:
TEST_LABEL - a label (regexp) of the target tests. For example, aklite:compose-apps, by default, is set to aklite - run all aktualizr-lite tests;CTEST_ARGS - additional ctest parameters, by default is set to --output-on-failure.GTEST_FILTER - a regexp to filter tests within gtest suits, e.g. GTEST_FILTER="*OstreeUpdateNoSpaceRetry*" TEST_LABEL="aklite:liteclient" make.Aktualizr-lite is installed by default in devices running the LmP distribution.
In order to test features, and specially verifying changes in the aktualizr-lite code,
using the containerized enviromnent is more appropriate.
Here are instructions on running aktualizr-lite in different environments:
By default, aktualizr-lite embedded into the Foundries.io™ Linux® microPlatform (LmP) operates as a daemon process
which periodically checks for updates. If an update is available for a device then, it will automatically check, download, and install
the update.
This is not always the desired operation. There are a couple ways to control this operation:
Content type
Image
Digest
sha256:37ec5a7d3…
Size
652.7 MB
Last updated
7 months ago
docker pull foundries/aklite-dev