Skip to content
Library for managing Mender artifact files
Branch: master
Clone or download
Latest commit 373666c Jul 3, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
Documentation Update some inconsistencies in artifact format documentation. Jul 3, 2019
areader Bugfix in the test code: random fail on TestReadBrokenArtifact Apr 30, 2019
awriter MEN-2573: Fix non-rootfs Artifacts being destroyed when signing them. Jun 7, 2019
cli/mender-artifact MEN-2573: Fix non-rootfs Artifacts being destroyed when signing them. Jun 7, 2019
handlers Remove unneeded GenericV1V2 struct. Apr 16, 2019
tests-acceptance-mac MEN-2505: Test the mac-binary on macOS in Travis. May 27, 2019
utils MEN-2180: Document mender-artifact dependency upon `debugfs` Apr 1, 2019
vendor Switch to original source for vendored library go-liblzma Apr 23, 2019
.dockerignore Added multi stage dockerfile to contain builds Mar 27, 2019
.gitignore Add multi-platform executables to gitignore and cleanup. May 31, 2019
.gitlab-ci.yml removed superfluous volume driver definition in ci pipeline Jun 24, 2019
.travis.yml MEN-2505: Test the mac-binary on macOS in Travis. May 27, 2019
Dockerfile reverted docker build container to deb based image Jun 24, 2019
Dockerfile.binaries Make sure that binaries are copied from container, not entire folder. May 31, 2019
LICENSE Update copyright year to 2019 in LICENSE. Jan 2, 2019
LIC_FILES_CHKSUM.sha256 Update License checksum after vendor source update Apr 23, 2019
Makefile Add Makefile target for build all platforms in Docker. May 31, 2019 Update to Mender Hub, and add bugtracker to avoid use of Gi… Mar 8, 2019
license_test.go Update copyright to and current year. Jul 11, 2017

Build Status codecov Go Report Card

Mender Artifacts Library

Mender is an open source over-the-air (OTA) software updater for embedded Linux devices. Mender comprises a client running at the embedded device, as well as a server that manages deployments across many devices.

This repository contains the artifacts library, which is used by the Mender client, command line interface, server and for build integration with the Yocto Project.

The artifacts library makes it easy to programmatically work with a Mender artifact, which is a file that can be recognized by its .mender suffix. Mender artifacts can contain binaries, metadata, checksums, signatures and scripts that are used during a deployment. The artifact format acts as a wrapper, and uses the tar format to bundle several files into one.

In its simplest form, an artifact contains just a rootfs image, along with its checksum, id and device type compatibility.

The artifacts library might also be useful for other updaters or purposes. We are always happy to see other uses of it!

Mender logo

Getting started

To start using Mender, we recommend that you begin with the Getting started section in the Mender documentation.

Using the library

You can use the parser and reader in go in the standard way:

import (

For sample usage, please see the Mender client source code.


We welcome and ask for your contribution. If you would like to contribute to Mender, please read our guide on how to best get started contributing code or documentation.


Mender is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Security disclosure

We take security very seriously. If you come across any issue regarding security, please disclose the information by sending an email to Please do not create a new public issue. We thank you in advance for your cooperation.

Connect with us

You can’t perform that action at this time.