Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: basic structure for README.md and CONTRIBUTING.md #112

Merged
merged 6 commits into from
Oct 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Contributing

We highly value and encourage contributions from the community!

Reignite is [MPL-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

If you have a feature suggestion or found a bug, head over to
[GitHub issues][issues] and see if there's an open issue matching your
description. If not feel free to open a new issue and add short description:

- In case of a bug, be sure to include the steps you performed and what Reignite responded so it's easy for others to reproduce
- If you have a feature suggestion, describe it in moderate detail and include some potential uses you see for the feature.

We prioritize the features to be implemented based on their usefulness/popularity. Of course if you want to start contributing yourself, go ahead! We'll be more than happy to review your pull requests.

The maintainers will add the correct labels/milestones to the issue for you.

[issues]: https://github.com/weaveworks/reignite/issues

### Contributing your code

The process to contribute code to Reignite is very straightforward.

1. Go to the project on [GitHub][repo] and click the `Fork` button in the
top-right corner. This will create your own copy of the repository in your
personal account.
2. Using standard `git` workflow, `clone` your fork, make your changes and then
`commit` and `push` them to your repository.
3. Run `make generate && make test && make lint`, then `commit` and `push` the changes.
4. Go back to [GitHub][repo], select `Pull requests` from the top bar and click
`New pull request` to the right. Select the `compare across forks` link.
This will show repositories in addition to branches.
5. From the `head repository` dropdown, select your forked repository. If you
made a new branch, select it in the `compare` dropdown. You should always
target `weaveworks/reignite` and `main` as the base repository and branch.
6. With your changes visible, click `Create pull request`. Give it a short,
descriptive title and write a comment describing your changes. Click `Create
pull request`.

That's it! Maintainers follow pull requests closely and will add the correct
labels and milestones. After a maintainer's review small changes/improvements
could be requested, don't worry, feedback can be easily addressed by performing
the requested changes and doing a commit and push. Your new changes will
automatically be added to the pull request.

We also have Continuous Integration (CI) set up (powered by [GitHub
Actions][gha]) that will build the code and verify it compiles and passes all
tests successfully. If your changes didn't pass CI, you can click Details to go
and check why it happened. To integrate your changes, we require CI to pass.

[repo]: https://github.com/weaveworks/reignite
[gha]: https://github.com/weaveworks/reignite/actions
59 changes: 57 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,57 @@
# reignite - the spawn of ignite
(Re)Ignite a MicroVM

# 🆁🅴🅸🅶🅽🅸🆃🅴 - the microvm service

[![GitHub](https://img.shields.io/github/license/weaveworks/reignite)](https://img.shields.io/github/license/weaveworks/reignite)
[![codecov](https://codecov.io/gh/weaveworks/reignite/branch/main/graph/badge.svg?token=ZNPNRDI8Z0)](https://codecov.io/gh/weaveworks/reignite)
[![Go Report Card](https://goreportcard.com/badge/github.com/weaveworks/reignite)](https://goreportcard.com/report/github.com/weaveworks/reignite)

## What is regnite?

Reignite is a service for creating and managing the lifecycle of microVMs on a host machine. Initially we will be supporting [Firecracker](https://firecracker-microvm.github.io/).

The primary use case for reignite is to create microVMs on a bare-metal host where the microVMs will be used as nodes in a virtualized Kubernetes cluster. It is an essential part of [Liquid Metal](https://www.weave.works/blog/multi-cluster-kubernetes-on-microvms-for-bare-metal) and will ultimately be driven by Cluster API Provider Microvm (coming soon).

## Features

Using API requests (via gRPC or HTTP):
- Create, update, delete microVMs using Firecracker
- Manage the lifecycle of microVMs (i.e. start, stop, pause)
- Make metadata available to microVMs to support cloud-init, ignition etc
- Use OCI images for the volumes, kernel & initrd
- (coming soon) Use CNI to configure the network for the microVMs

## Documentation

See our [getting started with reignite][quickstart] guide.

## Contributing

Contributions are welcome. Please read the [CONTRIBUTING.md][contrib] and our [Code Of Conduct][coc].

Other interesting resources include:

* [The issue tracker][issues]
* [The list of milestones][milestones]
* [Architectural Decision Records (ADR)][adr]
* [Getting started with reignite][quickstart]

## Getting Help

If you have any questions about, feedback for or problems with reignite:

* [File an issue][issues].

Your feedback is always welcome!

## License

[MPL-2.0 License][license]


[quickstart]: ./docs/quick-start.md
[contrib]: ./CONTRIBUTING.md
[coc]: ./CODE_OF_CONDUCT.md
[issues]: https://github.com/weaveworks/reignite/issues
[milestones]: https://github.com/weaveworks/reignite/milestones
[adr]: ./docs/adr
[license]: ./LICENSE
10 changes: 10 additions & 0 deletions docs/quick-start.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Getting started with reignite

## On MacOS

You can use Vagrant:

```
vagrant up
```

It will create a new pre-configured machine ready to use.

## Containerd

### Create thinpool
Expand Down