diff --git a/README.md b/README.md index f1dc6088..6e362d34 100644 --- a/README.md +++ b/README.md @@ -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 @@ -26,20 +27,20 @@ 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! @@ -47,7 +48,6 @@ Your feedback is always welcome! [MPL-2.0 License][license] - [quickstart]: ./docs/quick-start.md [contrib]: ./CONTRIBUTING.md [coc]: ./CODE_OF_CONDUCT.md diff --git a/docs/image-creation.md b/docs/image-creation.md index e76f9b27..431c217f 100644 --- a/docs/image-creation.md +++ b/docs/image-creation.md @@ -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. diff --git a/docs/releasing.md b/docs/releasing.md new file mode 100644 index 00000000..1ecf5c9e --- /dev/null +++ b/docs/releasing.md @@ -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.