From 978a48f14bc0b38e1e1aaaf1eda6d346b4a4f1e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20K=C3=A4ldstr=C3=B6m?= Date: Tue, 13 Aug 2019 19:44:02 +0300 Subject: [PATCH] Update the roadmap to reflect the current state --- README.md | 2 +- ROADMAP.md | 19 ------------------- docs/index.rst | 1 + docs/roadmap.md | 22 ++++++++++++++++++++++ 4 files changed, 24 insertions(+), 20 deletions(-) delete mode 100644 ROADMAP.md create mode 100644 docs/roadmap.md diff --git a/README.md b/README.md index 6292dea7c..28eebdcbc 100644 --- a/README.md +++ b/README.md @@ -227,8 +227,8 @@ Other interesting resources include: - [The issue tracker](https://github.com/weaveworks/ignite/issues) - [The list of milestones](https://github.com/weaveworks/ignite/milestones) +- [The Roadmap](docs/roadmap.md) - [CHANGELOG.md](CHANGELOG.md) -- [ROADMAP.md](ROADMAP.md) ## Getting Help diff --git a/ROADMAP.md b/ROADMAP.md deleted file mode 100644 index d400e4e51..000000000 --- a/ROADMAP.md +++ /dev/null @@ -1,19 +0,0 @@ -# Roadmap - -This is a provisional roadmap for what we'd like to do in the coming releases. - - - containerd support, do not hard-code this to docker only. This will add Kubernetes support. - - Parallelized internal architecture for better performance - - Patch support to `pkg/storage` to allow for race-condition-safe writes - - Write support for the GitOps mode, so it can write status back to the repo - - Add automated CI testing - - Provide deb/rpm packages - - Generate more/better API documentation - - Add support for CSI volumes - - Integrate Ignite with [Footloose](https://github.com/weaveworks/footloose) - - Take full advantage of Devicemapper's thin-provisioning feature - - Re-architect Ignite, and split it up into four parts: - - `ignite`, keeping the same CLI as we have now - - `ignite-containerd`, a containerd plugin for running Ignite VMs - - `ignite-snapshotter`, a containerd snapshotter plugin for building VM disks out of OCI images - - `ignite-spawn`, a small wrapper binary around Firecracker handling networking and DHCP translation diff --git a/docs/index.rst b/docs/index.rst index 32f99745f..bdb8ab2c6 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -25,6 +25,7 @@ In this folder you can read more about how to use Ignite, and how it works: awesome cloudprovider devel + roadmap FAQ .. toctree:: diff --git a/docs/roadmap.md b/docs/roadmap.md new file mode 100644 index 000000000..eb3fcba77 --- /dev/null +++ b/docs/roadmap.md @@ -0,0 +1,22 @@ +# Roadmap + +This is a provisional roadmap for what we'd like to do in the coming releases. + +- `containerd` support as a backing container runtime + - We might switch this to be the default, once the implementation is stable +- Split the `ignite` CLI into a client-server model + - The CLI should only be a thin wrapper that talks to `ignited` + - With this `ignite` can be run without root + - `ignited` will be run with `root` privileges, or in a container with capabilities specifically set +- Add Virtual Kubelet support to `ignited` + - `ignited` will register as a Virtual Kubelet in the target Kubernetes cluster + - The `VM` API type will be register as a `CustomResourceDefinition` +- Use device-mapper Thin Provisioning for layering image -> kernel -> resize -> writable overlay + - We might be able to utilize/vendor in containerd's devicemapper snapshotter +- Parallelized internal architecture for better performance +- Generate OpenAPI documentation and specifications +- Add support for CSI volumes +- Define what's in and out of scope for Ignite clearly, e.g. + - Supporting to restart VMs or not + - Supporting multiple network interfaces or not +- Provide deb/rpm packages