Moby-based Container Engine for Embedded, IoT, and Edge uses
Clone or download
pdcastro Merge pull request #119 from pdcastro/fix_docker_capitalisation_in_docs
docs: Fix Docker capitalisation in balenaEngine docs
Latest commit 1015e06 Oct 24, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
api fix regression of DockerSuite.TestAPINetworkCreateCheckDuplicate May 8, 2018
builder Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
cli Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
client Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
cmd Have the balena-engine binary accept being called as balena, balenad... Oct 16, 2018
container Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
contrib Update install.sh script for v17.12.0 release Oct 17, 2018
daemon Fix daemon/cluster/executor/container/ unit tests Oct 11, 2018
distribution updated the mock of xfer to pass unit test Feb 13, 2018
dockerversion api: generalize version information to any platform component Dec 6, 2017
docs docs: Fix Docker capitalisation in balenaEngine docs Oct 23, 2018
hack Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
image image: implement seekable tar stream for a whole image Feb 13, 2018
integration-cli Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
integration Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
internal tests: remove plugin support in tests May 8, 2018
layer layer: implement seekable tar stream Feb 13, 2018
libcontainerd Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
migrate/v1 migratev1_test: Fixed compilation errors Feb 13, 2018
oci Don't special case /sys/firmware in masked paths Nov 8, 2017
opts Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
pkg Use Balena's fork of golang.org/x/sys/unix (ARM SyncFileRange syscall) Oct 17, 2018
plugin make GetTarSeekStream part of the ImageConfigStore interface Feb 13, 2018
profiles Copy Inslice() to those parts that use it Nov 10, 2017
project Fix GitHub spelling Oct 6, 2017
reference Add gosimple linter Sep 12, 2017
registry Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
reports Add builder dev report for 2017-07-17 Jul 19, 2017
restartmanager restartmanager: fixed the unit test Feb 13, 2018
runconfig Remove solaris build tag and `contrib/mkimage/solaris Nov 2, 2017
vendor Use Balena's fork of golang.org/x/sys/unix (ARM SyncFileRange syscall) Oct 17, 2018
volume Simplify/fix MkdirAll usage Nov 28, 2017
www/static add website data Feb 13, 2018
.DEREK.yml project: try alexellis/derek bot to manage PRs and issues Dec 4, 2017
.dockerignore [EXPERIMENTAL] Integration Test on Swarm Feb 28, 2017
.gitignore Cleanup test output, and binaries. Aug 9, 2017
.mailmap Update mailmap and authors Oct 4, 2017
AUTHORS Update mailmap and authors Oct 4, 2017
CHANGELOG.md Update CHANGELOG.md Oct 19, 2018
CONTRIBUTING.md project: try alexellis/derek bot to manage PRs and issues Dec 4, 2017
Dockerfile Use Balena's fork of golang.org/x/sys/unix (ARM SyncFileRange syscall) Oct 17, 2018
Dockerfile.aarch64 Bump Go to 1.9.2 Nov 21, 2017
Dockerfile.armhf Bump Go to 1.9.2 Nov 21, 2017
Dockerfile.build.aarch64 Use Balena's fork of golang.org/x/sys/unix (ARM SyncFileRange syscall) Oct 17, 2018
Dockerfile.build.arm Use Balena's fork of golang.org/x/sys/unix (ARM SyncFileRange syscall) Oct 17, 2018
Dockerfile.build.i386 Use Balena's fork of golang.org/x/sys/unix (ARM SyncFileRange syscall) Oct 17, 2018
Dockerfile.build.x86_64 Use Balena's fork of golang.org/x/sys/unix (ARM SyncFileRange syscall) Oct 17, 2018
Dockerfile.e2e Bump Go to 1.9.2 Nov 21, 2017
Dockerfile.ppc64le Bump Go to 1.9.2 Nov 21, 2017
Dockerfile.s390x Bump Go to 1.9.2 Nov 21, 2017
Dockerfile.simple Bump Go to 1.9.2 Nov 21, 2017
Dockerfile.windows Bump Go to 1.9.2 Nov 21, 2017
FAQ.md Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
LICENSE Update copyright dates Feb 24, 2017
MAINTAINERS Update Misty's GitHub handle Nov 2, 2017
Makefile Fix daemon/cluster/executor/container/ unit tests Oct 11, 2018
NOTICE Update LICENSE date Feb 15, 2017
README.md Update balenaEngine logo in README.md Oct 23, 2018
ROADMAP.md Update the Roadmap Oct 11, 2017
TESTING.md Add testing.md Aug 4, 2017
VENDORING.md fix the bare url and the Summary of http://semver.org Jan 17, 2017
build-allarch.sh Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
build.sh Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
landr.conf.js Rename balena to balena-engine (executables) or balenaEngine (project) Oct 11, 2018
poule.yml Disable auto-assigning PR's to milestones Jun 13, 2017
vendor.conf Use Balena's fork of golang.org/x/sys/unix (ARM SyncFileRange syscall) Oct 17, 2018

README.md

balenaEngine: Moby-based container engine for IoT

balenaEngine

Overview

balenaEngine is a new container engine purpose-built for embedded and IoT use cases and compatible with Docker containers. Based on Docker’s Moby Project, balenaEngine supports container deltas for 10-70x more efficient bandwidth usage, has 3x smaller binaries, uses RAM and storage more conservatively, and focuses on atomicity and durability of container pulling.

Features

  • Small footprint
    • 3.5x smaller than Docker CE, packaged as a single binary
  • Multi-arch support
    • Available for a wide variety of chipset architectures, supporting everything from tiny IoT devices to large industrial gateways
  • True container deltas
    • Bandwidth-efficient updates with binary diffs, 10-70x smaller than pulling layers
  • Minimal wear-and-tear
    • Extract layers as they arrive to prevent excessive writing to disk, protecting your storage from eventual corruption
  • Failure-resistant pulls
    • Atomic and durable image pulls defend against partial container pulls in the event of power failure
  • Conservative memory use
    • Prevents page cache thrashing during image pull, so your application runs undisturbed in low-memory situations

Transitioning from Docker CE

We left out Docker features that we saw as most needed in cloud deployments and therefore not warranting inclusion in a lightweight IoT-focused container engine. Specifically, we’ve excluded:

  • Docker Swarm
  • Cloud logging drivers
  • Plugin support
  • Overlay networking drivers
  • Non-boltdb discovery backends (consul, zookeeper, etcd, etc.)

Unless you depend on one of the features in Docker that balenaEngine omits, using balenaEngine should be a drop-in replacement.

Licensing

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