Skip to content
This repository has been archived by the owner on Dec 7, 2023. It is now read-only.

v0.5.0

Compare
Choose a tag to compare
@luxas luxas released this 13 Aug 17:23
0578443

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)

Enhancements

  • 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

Documentation

Trying it out / Next Steps!

In short:

export VERSION=v0.5.0
export GOARCH=$(go env GOARCH 2>/dev/null || echo "amd64")

for binary in ignite ignited; do
    echo "Installing ${binary}..."
    curl -sfLo ${binary} https://github.com/weaveworks/ignite/releases/download/${VERSION}/${binary}-${GOARCH}
    chmod +x ${binary}
    sudo mv ${binary} /usr/local/bin
done

A more throughout installation guide is available here: https://ignite.readthedocs.io/en/latest/installation.html