Categories
OpenSource Uncategorized Weaveworks

What’s been happening in Ignite

First of all: thanks Dennis Marttinen and Lucas Käldström for helping write this up.

It’s been only a bit over a month since Weave Ignite was announced to the world (others talked about it as well). Time to catch up on what happened in the meantime, the team around it has been busy.

If you’re new to Weave Ignite, it’s an open source VM manager with a container UX and built-in GitOps management (check out the docs). It’s built on top of Firecracker which has proven to be able to run 4000 micro-VMs on the same host. Time to give it a go, right?

Since the initial announce 43 people contributed to the project on Github, 20 got commits merged in the repo. Thanks to every one of you: 

@BenTheElder, @DieterReuter, @PatrickLang, @Strum355, @akshaychhajed, @alex-leonhardt, @alexeldeib, @alexellis, @andrelop, @andrewrynhard, @aojea, @arun-gupta, @asaintsever, @chanwit, @curx, @danielcb, @dholbach, @hbokh, @jiangpengcheng, @junaid18183, @kim3z, @liwei, @luxas, @najeal, @neith00, @paavan98pm, @patrobinson, @pditommaso, @praseodym, @prologic, @robertojrojas, @rugwirobaker, @saiyam1814, @seeekr, @sftim, @silenceshell, @srinathgs, @stealthybox, @taqtiqa-mark, @twelho, @tyhal, @vielmetti, @webwurst

Since then the team got four releases out the door. Let’s go through the big changes one by one and why they matter:

  • Lots of bug fixes, enhanced stability, more tests and more and better docs (find them here)
  • Support for Persistent Storage, ARM64, manifest directories, the improved v1alpha2 API, both declarative and imperative VM management
  • More pre-built VM images (currently there are images based on Ubuntu, CentOS, Amazon Linux, Alpine and OpenSUSE + a kubeadm image)
  • ignited was introduced to move Ignite towards a client-server model and improve VM lifecycle management
  • The Docker-like UX has been further improved, now also featuring ‘ignite exec’
  • Read-write GitOps support, now status updates/changes (e.g. IP addresses) are pushed back to the repository

It’s impressive how such a young project got all of this together in such a short amount of time (only around a month).


We also have been busy growing our community. As mentioned above, documentation was an important part of this: API docs, a very solid CLI reference and short tutorials to get you started were the key.

We also started a mailing list and regular community Ignite developer meetings. These happen Mondays at 15:00 UTC (what’s UTC?) and are meant to get people together who are generally interested in Ignite and want to learn more and potentially help out as well. Project authors Lucas Käldström and Dennis Marttinen are always very approachable, but here especially they made a point of introducing everyone to the goals behind Ignite, its roadmap and the currently ongoing work.

We’ve recorded all of the meetings. Meeting Notes are available too (Please join weaveworks-ignite on Google Groups to get write access).

Here’s what we covered so far:

  • 1st meeting:
    • Team introductions
    • Demo of Ignite
    • Roadmap overview
    • Current work-in-progress
  • 2nd meeting:
    • What’s coming in v0.5.0?
    • Roadmap for v0.6.0
    • Integration with Kubernetes through Virtual Kubelet
    • How to contribute to Ignite
  • 3rd meeting
    • v0.5.0 and v0.5.1 released
    • GitOps Toolkit is being split out – what is it for?
    • Footloose integration – what is it about?
    • Coming up: containerd support
    • Discussion of application logging

And this is where you come in… our next meeting is Monday, 26th August 2019 15:00 UTC and we have an action packed agenda as well:

  • containerd integration
  • CNI integration
  • The GitOps Toolkit
  • Code walk-through / project architecture
  • Discussion: what would you like to see in Ignite? What do/could you use it for?
  • Releasing v0.6.0
  • <you can still add your own agenda item here>

We are very excited to see the direction Ignite is taking, particularly because it contributes a lot to the ecosystem. How?

We realised that all the GitOps functionality of Ignite would be useful to the rest of the world, so we split it out into the GitOps Toolkit.

The team is also working on containerd integration, so that you don’t need Docker installed to run Ignite VMs. Why does Ignite require a container runtime to be present? Because Ignite integrates with the container world, so you can seamlessly run both VMs and containers next to each other. containerd is super lightweight, as is Firecracker, so pairing them with Ignite makes a lot of sense!

If the above sounds exciting to you and your project, please share the news and meet up with us on Monday. We look forward to seeing you there!

But that’s not all. This is just where we felt Ignite could make a difference. If you have your own ideas, own use-cases, issues or challenges, please let us know and become part of the team – even if it’s just by giving us feedback! If you’d like to get inspiration about what others are doing with Ignite, or add your own project, check out the awesome-ignite page.

If you are interested in helping out, that’s fantastic! The meeting should be interesting for you too. If you can’t wait, check out our contributors guide and check out our open issues too. If you are interested in writing docs, adding comments, testing, filing issues or getting your feet into the project, we’re all there and happy to help.

We’ll have more news on Ignite soon. But for today’s update we are signing off with a bitter-sweet announcement: Lucas and Dennis will from September step down as project maintainers in order to embark on a new adventure: Aalto University in Helsinki! They have started something very remarkable and we could not be happier for them. Watch this space for more news.

If you’d like to join the journey, you can do so here: