This repository has been archived by the owner on Dec 7, 2023. It is now read-only.
v0.5.0
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 withv1alpha1
) - 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
- Support external volumes (block devices) in Ignite VMs (#275, @twelho)
- Add ARM64 support (#173, @luxas)
- Add new binary:
ignited
(#264, @luxas) - Add new command:
ignite exec
(#232, @BenTheElder) - Add Manifest Directory support (like kubelet's Static Pods) (#234, @twelho)
- Support directories as well with the
--copy-files
flag (#271, @twelho) - Implement read-write GitOps (#241, @twelho)
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
andProtocol
for aPortMapping
(#299, @twelho) - Add
vm.status.startTime
to track the VM's uptime externally (#296, @twelho) - Replace
vm.status.state
withvm.status.running
(#292, @twelho) - Add the initial v1alpha2 API types (#250, @twelho)
Enhancements
- Refactor: Use the
netlink
library instead of exec'ing out toip
(#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
- Fix
ignite rm -f
for a running VM without--debug
(#320, @twelho) - Ensure the directory for
godoc2md
(#231, @BenTheElder) - Run
gofmt
first after generating code (#236, @BenTheElder) - Fix image root permissions (#249, @praseodym)
- Separate graph generation from
make tidy
, add make target docs (#233, @twelho)
Documentation
- Documentation updates for v0.5.0 (#324, @twelho)
- docs: packet and azure (#330, @alexeldeib)
- add simple CODEOWNERS file (#331, @dholbach)
- add logo to docs (#326, @dholbach)
- Document cloud provider instances with KVM support (#222, @paavan98pm)
- Add Ignite + Footloose documentation (#313, @robertojrojas)
- Add a Read The Docs website:
ignite.readthedocs.org
(#246, @dholbach) - Documentation updates and clarifications for the New Storage implementation (#242, @twelho)
- Index awesome doc (#276, @dholbach)
- Update docs links (#268, @dholbach)
- Add Google Group to docs for Calendar and permissions (#248, @stealthybox)
- Docs fix: Remove duplicate bracket (#212, @silenceshell)
- Docs fix: Update the command for deleting all VMs (#201, @curx)
- Docs fix: Duplicate bracket (#218, @silenceshell)
- Docs fix: ID is in
.metadata.uid
, not.metadata.name
(#219, @silenceshell) - Add an awesome-ignite list for ignite (#270, @luxas)
- Changed --kernel to --kernel-image for accuracy (#217, @paavan98pm)
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