Skip to content

Commit

Permalink
Bump cOS to 0.6.0 (#446)
Browse files Browse the repository at this point in the history
* Bump cOS to 0.6.0

Signed-off-by: Ettore Di Giacinto <[email protected]>

* Update README by pointing to docs

Signed-off-by: Ettore Di Giacinto <[email protected]>

* Bump cloud-config

Signed-off-by: Ettore Di Giacinto <[email protected]>
  • Loading branch information
mudler authored Jul 26, 2021
1 parent 477252c commit 7d04f1d
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 79 deletions.
78 changes: 5 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,10 @@
# containerOS toolkit
# [![Build cOS master](https://github.com/rancher-sandbox/cOS-toolkit/actions/workflows/build-master.yaml/badge.svg)](https://github.com/rancher-sandbox/cOS-toolkit/actions/workflows/build-master.yaml) containerOS toolkit

containerOS (**cOS**) is a toolkit to build, ship and maintain cloud-init driven Linux derivatives based on container images with a common featureset.
containerOS (**cOS**) is a toolkit to build, ship and maintain cloud-init driven Linux derivatives based on container images with a common featureset - allows container images to be bootable in VMs, baremetals, embedded devices, and much more.

It is designed to reduce the maintenance surface, with a flexible approach to provide upgrades from container registries. It is cloud-init driven and also designed to be adaptive-first, allowing easily to build changes on top.

[Documentation is available at https://rancher-sandbox.github.io/cos-toolkit-docs/docs](https://rancher-sandbox.github.io/cos-toolkit-docs/docs)

<!-- TOC -->

- [containerOS toolkit](#containeros-toolkit)
- [In a nutshell](#in-a-nutshell)
- [Releases](#releases)
- [Design goals](#design-goals)
- [Build cOS Locally](#build-cos-locally)
- [First steps](#first-steps)
- [Samples](#samples)
- [cOS development](#cos-development)
- [License](#license)

<!-- /TOC -->

## In a nutshell

cOS derivatives are built from containers, and completely hosted on image registries. The build process results in a single container image used to deliver regular upgrades in OTA approach. Each derivative built with `cos-toolkit` inherits a default featureset.

cOS supports different release channels, all the final and cache images used are tagged and pushed regularly [to Quay Container Registry](https://quay.io/repository/costoolkit/releases-green) and can be pulled for inspection from the registry as well.

Those are exactly the same images used during upgrades, and can also be used to build Linux derivatives from cOS.

For example, if you want to see locally what's in a openSUSE cOS version , you can:

```bash
$ docker run -ti --rm quay.io/costoolkit/releases-green:cos-system-$VERSION /bin/bash
```

## Releases

cOS-toolkit releases consist on container images that can be used to build derived against and the cos source tree itself.

cOS is a manifest which assembles an OS from containers, so if you want to make substantial changes to the layout you can also fork directly cOS.

Currently, the toolkit supports creating derivatives from [OpenSUSE (green), Fedora (blue) and Ubuntu (orange)](https://github.com/rancher-sandbox/cOS-toolkit/tree/master/values), although it's rather simple to add support for other OS families and architecures.

The cOS CI generates ISO and images artifacts used for testing, so you can also try out cOS by downloading the
ISO [from the Github Actions page](https://github.com/rancher-sandbox/cOS-toolkit/actions/workflows/build.yaml), to the commit you are interested into.
Documentation is available at [https://rancher-sandbox.github.io/cos-toolkit-docs/docs](https://rancher-sandbox.github.io/cos-toolkit-docs/docs)

## Design goals

Expand All @@ -56,38 +17,9 @@ ISO [from the Github Actions page](https://github.com/rancher-sandbox/cOS-toolki
- Easy to customize
- Cryptographically verified

### Build cOS Locally

The starting point to use cos-toolkit is to see it in action with our [sample repository](https://github.com/rancher-sandbox/cos-toolkit-sample-repo) or check out our `examples` folder, see also [creating bootable images](https://rancher-sandbox.github.io/cos-toolkit-docs/docs/creating-derivatives/creating_bootable_images/).

The only requirement to build derivatives with `cos-toolkit` is docker installed, see [Development notes](https://rancher-sandbox.github.io/cos-toolkit-docs/docs/development/) for more details on how to build `cos` instead.

## First steps

The [sample repository](https://github.com/rancher-sandbox/cos-toolkit-sample-repo) contains the definitions of a [SampleOS](https://github.com/rancher-sandbox/cos-toolkit-sample-repo/tree/master/packages/sampleOS) boilerplate, which results in an immutable single-image distro and a [simple HTTP service on top](https://github.com/rancher-sandbox/cos-toolkit-sample-repo/tree/master/packages/sampleOSService) that gets started on boot.

To give it a quick shot, it's as simple as cloning the [Github repository](https://github.com/rancher-sandbox/cos-toolkit-sample-repo), and running cos-build:

```bash
$ git clone https://github.com/rancher-sandbox/cos-toolkit-sample-repo
$ cd cos-toolkit-sample-repo
$ source .envrc
$ cos-build
```

This command will build a container image which contains the required dependencies to build the custom OS, and will later be used to build the OS itself. The result will be a set of container images and an ISO which you can boot with your environment of choice. See [Creating derivatives](https://rancher-sandbox.github.io/cos-toolkit-docs/docs/creating-derivatives/creating_derivatives/) for more details about the process.

If you are looking after only generating a container image that can be used for upgrades from the cOS vanilla images, see [creating bootable images](https://rancher-sandbox.github.io/cos-toolkit-docs/docs/creating-derivatives/creating_bootable_images/) and see also [how to drive upgrades with Fleet](https://rancher-sandbox.github.io/cos-toolkit-docs/docs/tutorials/trigger_upgrades_with_fleet/).


### Samples
- [Sample repository](https://github.com/rancher-sandbox/cos-toolkit-sample-repo)
- [EpinioOS sample repository](https://github.com/rancher-sandbox/epinio-appliance-demo-sample)
- [Use Fleet to upgrade a cOS derivative](https://github.com/rancher-sandbox/cos-fleet-upgrades-sample)
- [Deploy Fleet on a cOS vanilla image](/docs/k3s_and_fleet_on_vanilla_image_example.md)
### Quick start

### cOS development
- [Github project](https://github.com/mudler/cOS/projects/1) for a short-term Roadmap
Check out our [getting-started](https://rancher-sandbox.github.io/cos-toolkit-docs/docs/getting-started/) section in the documentation.

## License

Expand Down
2 changes: 1 addition & 1 deletion packages/cloud-config/definition.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
name: cloud-config
category: system
version: 0.6.2+9
version: "0.7"
6 changes: 3 additions & 3 deletions packages/cos/collection.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
packages:
- name: "cos"
category: "system"
version: 0.5.8+6
version: "0.6.0"
description: "cOS base image, used to build cOS live ISOs"
brand_name: "cOS"
labels:
autobump.revdeps: "true"
autobump.revbump_related: "recovery/cos-img recovery/cos-squash"
- name: "cos"
category: "recovery"
version: 0.5.8+6
version: "0.6.0"
brand_name: "cOS recovery"
description: "cOS recovery image, used to boot cOS for troubleshooting"
labels:
autobump.revdeps: "true"
autobump.revbump_related: "recovery/cos-img recovery/cos-squash"
- name: "cos-container"
category: "system"
version: 0.5.8+6
version: "0.6.0"
brand_name: "cOS"
description: "cOS container image, used to build cOS derivatives from scratch"
labels:
Expand Down
2 changes: 1 addition & 1 deletion packages/cos/recovery-img/definition.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "cos-img"
category: "recovery"
version: 0.5.8+6
version: "0.6.0"
brand_name: "cOS"
2 changes: 1 addition & 1 deletion packages/cos/recovery-img/squash/definition.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
name: "cos-squash"
category: "recovery"
version: 0.5.8+6
version: "0.6.0"

0 comments on commit 7d04f1d

Please sign in to comment.