Skip to content

Commit

Permalink
docs: added releasing guide
Browse files Browse the repository at this point in the history
Initial documentation on how to release flintlock has been added. These
instructions will need to be updated when we start to support prior
versions (i.e with release branches).

Signed-off-by: Richard Case <[email protected]>
  • Loading branch information
richardcase committed Nov 2, 2021
1 parent 7596811 commit 4a0d255
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 11 deletions.
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,16 @@
[![codecov](https://codecov.io/gh/weaveworks/flintlock/branch/main/graph/badge.svg?token=ZNPNRDI8Z0)](https://codecov.io/gh/weaveworks/flintlock)
[![Go Report Card](https://goreportcard.com/badge/github.com/weaveworks/flintlock)](https://goreportcard.com/report/github.com/weaveworks/flintlock)

## What is regnite?
## What is flintlock?

Flintlock 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/).
Flintlock 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 flintlock 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
Expand All @@ -26,28 +27,27 @@ See our [getting started with flintlock][quickstart] guide.

## Contributing

Contributions are welcome. Please read the [CONTRIBUTING.md][contrib] and our [Code Of Conduct][coc].
Contributions are welcome. Please read the [CONTRIBUTING.md][contrib] and our [Code Of Conduct][coc]. We have the [#liquid-metal](https://weave-community.slack.com/archives/C02KARWGR7S) slack channel for discussions when contributors and users.

Other interesting resources include:

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

## Getting Help

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

* [File an issue][issues].
- [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
Expand Down
4 changes: 2 additions & 2 deletions docs/image-creation.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ Run the following command to download the Ubuntu Server cloud images:
hack/scripts/download_cloudimages.sh
```

This downloads the Ubuntu Server Cloud Image files and and processes them. The downloaded files and processed files will be available in `out/images` by default. There are a number of flags that can be used for custimization:
This downloads the Ubuntu Server Cloud Image files and and processes them. The downloaded files and processed files will be available in `out/images` by default. There are a number of flags that can be used for customization:

| Flag | Description |
| --------------- | ---------------------------------------------------------------- |
| -o/--output | Specifies the output folder to use. Defaults to `./out`. |
| -v/--version | Specifies the ubuntu version to download. Defaults to `bionic`. |
| -s/--image-size | Specifies the size of the root fs to create. Defaluts to `10G`. |
| -s/--image-size | Specifies the size of the root fs to create. Defaults to `10G`. |

The processed files (i.e. root filesystem, uncompressed kernel, initrd) can be used directly with Firecracker without flintlock.

Expand Down
38 changes: 38 additions & 0 deletions docs/releasing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Releasing Flintlock

> These instructions will change when we start supporting previous versions whilst using main for future versions.
## Determine release version

The projects follows [semantic versioning](https://semver.org/#semantic-versioning-200) and so the release version must adhere to this specification. Depending on the changes in the release you will need to decide the next appropriate version number.

## Create tag

* Checkout upstream main
* Create a tag with the version number:

```bash
RELEASE_VERSION=v0.1.0-alpha.1
git tag -s ${RELEASE_VERSION} -m "${RELEASE_VERSION}
```
* Push the tag (to upstream if working from a fork)
``` bash
git push origin ${RELEASE_VERSION}
```
* Check the [release](https://github.com/weaveworks/flintlock/actions/workflows/release.yml) GitHub Actions workflow completes successfully.
## Edit & Publish GitHub Release
* Got to the draft release in GitHub.
* Make any edits to generated release notes
* If there are any breaking changes then manually add a note at the beginning of the release notes informing the user what they need to be aware of/do.
* Sometimes you may want to combine changes into 1 line
* If this is a pre-release tick `This is a pre-release`
* Publish the draft release and when asked say yes to creating a discussion.
## Announce release
When the release is available announce it in the #liquid-metal slack channel.

0 comments on commit 4a0d255

Please sign in to comment.