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

Commit

Permalink
Add meta files around contributing
Browse files Browse the repository at this point in the history
  • Loading branch information
luxas committed Jun 18, 2019
1 parent 2dad0dd commit 5162479
Show file tree
Hide file tree
Showing 7 changed files with 97 additions and 11 deletions.
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Changelog

## v0.3.0 (unreleased)

Major release with significant UX and internal improvements:

- There is no longer a difference between an Ignite image and an OCI image, this is now the same thing. Ignite operates on OCI images
directly, for both OS images and kernels.
- Ignite now uses Devicemapper's `thin-provisioning` feature, for way better performance and added capabilities.
- It is now possible to do `ignite run [OCI image]` directly, and everything (e.g. pulling the image) is handled automatically. e.g. `ignite run -i weaveworks/ignite-ubuntu`.
- Now `ignite images` shows OCI images that are cached and ready to use, and `ignite kernels` the kernel images ready to use.
- Added an example usage guide for running a Kubernetes cluster in HA mode using kubeadm and Ignite.
- Removed `ignite build`, and `ignite image/kernel import`; as these are no longer needed
- Importing an image from a tROADMAPar file is no longer possible, package the contents in an OCI image instead
- Added a new command `ignite ssh [vm]` and flag: `ignite run --ssh`. This allows for automatic SSH logins.
- Now Ignite logs user-friendly messages by default. To get machine-readable output, use the `--quiet` flag.
- Ignite now requires the user to be `root`. This will be revisited later, when the architecture has changed.
- The command outputs and structure is now more user-friendly.
- Fixed several bugs both under the hood, and user-affecting ones

## v0.2.0

Major release with significant improvements

- Ignite is now using `devicemapper` under the hood, for overlay snapshots for filesystem writes, allowing for image reuse, efficient use of space and way faster builds!
- Added sample Ubuntu 18.04 and CentOS 7 OS images & a 4.19 kernel build
- Automatic network configuration, now the OS image doesn't need to enable DHCP, as that is done in the kernel
- Automatically populate `/etc/hosts` and `/etc/resolv.conf`, too
- Add an option to bind a port exposed by the VM to a host port (`ignite run -p 80:80`)
- Add an option for modifying the kernel command line (`ignite run --kernel-args`)
- Add an option to copy files from the host into the VM (`ignite run --copy-files`)
- Add an option to specify the amount of cores, RAM, and overlay size (`ignite run --cpus 2 --memory 1024 --size 4GB`)
- Removed the need for the Ignite container to run with `--privileged`
- Allow for force-deletions of images, kernels and vms.
- Added documentation.
- Moved repo from luxas/ignite to weaveworks/ignite

## v0.1.0

This is the first, proof-of-concept version of Ignite.
It has all the essential features, and a pretty complete implementation of the docker UX.
7 changes: 7 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## Community Code of Conduct

Weaveworks follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).

Instances of abusive, harassing, or otherwise unacceptable behavior
may be reported by contacting a Weaveworks project maintainer, or
Alexis Richardson ([email protected]).
11 changes: 11 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Contributing

We highly value and encourage contributions from the community!

Ignite is [Apache 2.0 licensed](LICENSE) and accepts contributions via GitHub Pull Requests.This document outlines some of the conventions on development workflow, commit message formatting, contact points and other resources to make it easier to get your contribution accepted.

We gratefully welcome improvements to documentation as well as to code.

## Guidelines

TODO: Add contributing guidelines here after we formalize them.
2 changes: 2 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Lucas Käldström <[email protected]> (@luxas)
Dennis Marttinen <[email protected]> (@dennis)
32 changes: 21 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Firecracker Ignite
# Firecracker Ignite

Ignite is a Firecracker microVM administration tool, like Docker manages
runC containers.
Expand All @@ -17,7 +17,7 @@ container on the host would.
And Firecracker is **fast**! Building and starting VMs takes just some fraction of a second, or
at most some seconds. With Ignite you can get started with Firecracker in no time!

### Use-cases
## Use-cases

With Ignite, Firecracker is now much more accessible for end users, which means the ecosystem
can achieve the next level of momentum due to the easy onboarding path thanks to a docker-like UX.
Expand All @@ -35,7 +35,7 @@ This allows for:
* Super fast Kubernetes Cluster Lifecycle with multiple machines (without docker hacks)
* A k8s-managed private VM cloud, on which a layer of k8s container clusters may run

#### Scope
### Scope

If you want to run _applications_ in **containers** with added _Firecracker isolation_, use
[firecracker-containerd](https://github.com/firecracker-microvm/firecracker-containerd).
Expand All @@ -44,7 +44,7 @@ Or a similar solution like Kata Containers or gVisor, that are complementary to
Firecracker Ignite, however, is operating at another layer. Ignite isn’t concerned with **containers**
as the primary unit, but whole yet lightweight VMs that integrate with the container landscape.

### How to use
## How to use

[![asciicast](https://asciinema.org/a/252221.svg)](https://asciinema.org/a/252221)

Expand Down Expand Up @@ -104,16 +104,17 @@ reference base images and a sample kernel image to get started quickly.

### Known limitations

See [REQUIREMENTS.md](REQUIREMENTS.md)
See [docs/REQUIREMENTS.md](docs/REQUIREMENTS.md)

### Maintainers
## Contributing

- Lucas Käldström, @luxas
- Dennis Marttinen, @twelho
Please see [CONTRIBUTING.md](CONTRIBUTING.md) and our [Code Of Conduct](CODE_OF_CONDUCT.md).

### License

Apache 2.0
Other interesting resources include:
- [The issue tracker](https://github.com/weaveworks/ignite/issues)
- [The list of milestones](https://github.com/weaveworks/ignite/milestones)
- [CHANGELOG.md](CHANGELOG.md)
- [ROADMAP.md](ROADMAP.md)

## Getting Help

Expand All @@ -124,3 +125,12 @@ If you have any questions about, feedback for or problems with `ignite`:
- [File an issue](https://github.com/weaveworks/ignite/issues/new).

Your feedback is always welcome!

## Maintainers

- Lucas Käldström, [@luxas](https://github.com/luxas)
- Dennis Marttinen, [@twelho](https://github.com/twelho)

## License

[Apache 2.0](LICENSE)
15 changes: 15 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Roadmap

This is a provisional roadmap for what we'd like to do in the coming releases.

- CNI support, when using Docker (similar to what the kubelet does)
- Prometheus metrics exposed over a socket (converted from the FIFO Firecracker supplies)
- containerd support, do not hard-code this to docker only. This will add Kubernetes support.
- Parallelized internal architecture for way better performance
- Factor out the `ignite container` command to its own binary for less overhead when running VMs (`ignite-spawn`)
- 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
File renamed without changes.

0 comments on commit 5162479

Please sign in to comment.