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

v0.6.0

Compare
Choose a tag to compare
@luxas luxas released this 30 Aug 22:38
a8220f7

Welcome to the v0.6.0 release, consisting of major underlying improvements, and a more efficient runtime.

This release consists of 25 noteworthy PRs from 4 contributors; although v0.5.0 was released just two weeks ago!
We had 5 contributions from 2 external contributors, thanks 🎉!

The main themes of this release has been:

  • containerd is now used as the default container runtime for higher security and speed, and less resource usage
    • This means that Ignite doesn't depend on docker anymore!
  • CNI is now the default networking plugin; by default the bridge and portmap plugins are used
  • GitOps Toolkit refactor is complete; now everything you need to create your Git-backed application is available at https://github.com/weaveworks/gitops-toolkit
    • Ignite is using this toolkit internally to perform its GitOps capabilities, now you can easily use this functionality, too!
  • Bugfixes and usability improvements all around the place

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

Deprecations

  • As per v0.5.0, the v1alpha2 API version is the default. Going forward, the v1alpha1 API version is deprecated, and will be removed in a future release.

New Features

  • Make containerd the default runtime and CNI the default network plugin (#371, @twelho)
  • Implement the containerd runtime for Ignite (#337, @twelho)
  • Add a default CNI bridge and portmap network for Ignite (#370, @twelho)
  • Implement hostPort support with CNI (#375, @luxas)
  • Add openSUSE images (#357, @aojea)

Enhancements

  • Implement cleanup of CNI networks using the default bridge (#376, @luxas)
  • containerd backend improvements (#368, @twelho)
  • Implement runtime selection, only load necessary providers (#366, @twelho)
  • Split packages so we can extract gitops-toolkit (#347, @luxas)
  • Switch to using weaveworks/gitops-toolkit (#359, @luxas)
  • Switch imports to utilize gitops-toolkit (#354, @luxas)
  • Simplify the CNI code by vendoring github.com/containerd/go-cni (#349, @luxas)
  • FileWatcher: Support internal moves without re-creating and multiple active moves at once (#341, @twelho)
  • Fix GOHOSTARCH propagation, tag development image for the host architecture only (#340, @twelho)
  • Fix ignite-spawn's formatting when performing cleanup on VM metadata (#336, @twelho)
  • Automatically optimize the size of an imported image (#335, @twelho)
  • Add shell autocompletion for ignited (#363, @silenceshell)

Bug Fixes

  • Add err as a param for log.Errorf (#367, @silenceshell)
  • Fix an issue in the GitDirectory loop when trying to commit without any actual changes (#369, @silenceshell)
  • GitOps: only change the VM state if it differs from the current one (#374, @twelho)
  • Move VM network removal to logically correct place (#373, @twelho)
  • Fix Docker client port mappings by actually exposing them after binding (#350, @twelho)

Documentation

  • Update the docs for v0.6.0 (#378, @luxas)
  • Docs: Bump latest Ignite version to v0.5.1 (#362, @silenceshell)
  • Change Read the Docs links to point to the stable branch in main README (#338, @twelho)

Trying it out / Next Steps!

NOTE: Stop your VMs before performing the upgrade, as the underlying container runtime has changed!
In short:

export VERSION=v0.6.0
export ARCH=$([ $(uname -m) = "x86_64" ] && echo amd64 || echo arm64)

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

# Install the CNI plugins if you don't already have them
export CNI_VERSION=v0.8.2
curl -sSL https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz | tar -xz -C /opt/cni/bin

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