Released: 13/08/2019

This release consists of 54 noteworthy PRs from 12 contributors. We had 14 contributions from 8 external contributors, thanks!

The main themes of this release has been:

  • Persistent Storage: Block Device support added as the first external volume type

  • Improved API: We’re continuously improving the API; this release contains ignite.weave.works/v1alpha2 (still backwards-compatible with v1alpha1)

  • Read-write GitOps: In GitOps mode, Ignite now also pushes the actual state in .status back to the repo

  • Refactoring towards a client-server model: We’re now shipping ignited that holds the reconciling GitOps and Manifest Directory modes

  • Multi-platform: We’re now shipping ARM 64-bit binaries that you can use on e.g. Packet (and eventually, Raspberry Pi 4!)

Also, our documentation is now available at https://ignite.readthedocs.org. Check that site out whenever you need some information, or open an issue :)

New Features

API Changes

  • Remove .spec.network.mode; use a global --network-plugin flag instead (#319, @luxas)

  • Rename .spec.image.ociClaim.ref to .spec.image.oci for simplicity (#311, @twelho)

  • Redesign OCI image status: Display the image’s exact repository digest (#307, @twelho)

  • Add .status.runtime.id the VM container’s ID (#294, @twelho)

  • Support configuring BindAddress and Protocol for a PortMapping (#299, @twelho)

  • Add vm.status.startTime to track the VM’s uptime externally (#296, @twelho)

  • Replace vm.status.state with vm.status.running (#292, @twelho)

  • Add the initial v1alpha2 API types (#250, @twelho)


  • Refactor: Use the netlink library instead of exec’ing out to ip (#279, @alexeldeib)

  • Improve the CNI implementation, and documentation (#308, @luxas)

  • Enable testing in CI, fix the Makefile and tidy (#280, @luxas)

  • Automatically generate the release notes (#283, @luxas)

  • Structured logging across the application; add logging support to ignite-spawn (#247, @twelho)

  • Extract watcher, batcher and monitor into pkg/util (#245, @luxas)

  • Robust recursive FileWatcher support using notify (#265, @twelho)

  • Document developer meetings (#272, @dholbach)

  • Create/use a runtime interface instead of direct calls to Docker (#211, @twelho)

  • Add structured validation for the API types (#216, @luxas)

  • Add Strategic Merge Patch support to the storage (#225, @luxas)

  • Improve vulnerability scanning of Docker image (#239, @DieterReuter)

  • CNI networking cleanup support, Docker client robustness improvements (#111, @twelho)

  • Support checksum-based Cache invalidation, improve cache’s object handling (#227, @twelho)

  • Rename GitStorage into ManifestStorage (#226, @luxas)

  • Client and Storage rework: Recognize multiple API groups (#221, @luxas)

  • Create internal API types, and use them (#215, @luxas)

Bug Fixes