Skip to content

Commit

Permalink
Synchronize the repo's and docs README
Browse files Browse the repository at this point in the history
They diverged a bit over time. Use the mkdocs include-markdown plugin
to import the common parts from the repo's README into the docs README.

Signed-off-by: Tom Wieczorek <[email protected]>
  • Loading branch information
twz123 committed Oct 13, 2024
1 parent 6b72bf4 commit aab6bde
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 56 deletions.
34 changes: 26 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# k0s - The Zero Friction Kubernetes by Team Lens

<!-- When changing this file, consider to change docs/README.md, too! -->

[![Go build](https://github.com/k0sproject/k0s/actions/workflows/go.yml/badge.svg?branch=main)](https://github.com/k0sproject/k0s/actions/workflows/go.yml?query=branch%3Amain)
[![k0s network conformance](https://github.com/k0sproject/k0s/workflows/k0s%20Check%20Network/badge.svg)](https://github.com/k0sproject/k0s/actions/workflows/check-network.yaml)
[![Go Reference](https://img.shields.io/badge/code%20reference-go.dev-bc42f5.svg)](https://pkg.go.dev/github.com/k0sproject/k0s)
Expand All @@ -12,9 +14,9 @@
![k0s-logo-dark](docs/img/k0s-logo-full-color-dark.svg#gh-dark-mode-only)
![k0s-logo-light](docs/img/k0s-logo-full-color-light.svg#gh-light-mode-only)

## What happened to Github stargazers?
## What happened to GitHub stargazers?

In September 2022 we made a human error while creating some build automation scripts&tools for the repo. Our automation accidentally changed the repo to a private one for few minutes. That itself is not a big deal and everything was restored quickly. But the nasty side effect is that it also removed all the stargazers at that point. :(
In September 2022 we made a human error while creating some build automation scripts&tools for the GitHub repository. Our automation accidentally changed the repo to a private one for few minutes. That itself is not a big deal and everything was restored quickly. But the nasty side effect is that it also removed all the stargazers at that point. :(

Before that mishap we had 4776 stargazers, making k0s one of the most popular Kubernetes distro out there.

Expand All @@ -24,27 +26,37 @@ Before that mishap we had 4776 stargazers, making k0s one of the most popular Ku

This repository ("k0s") is where Team Lens develops the [k0s](https://k8slens.dev/kubernetes) product together with the community. It is backed by a number of Kubernetes and cloud native ecosystem pioneers. This source code is available to everyone under the [Apache License 2.0](./LICENSE).

<!-- Start Overview -->
## Overview

[k0s](https://k8slens.dev/kubernetes) is an all-inclusive Kubernetes distribution, which is configured with all of the features needed to build a Kubernetes cluster and packaged as a single binary for ease of use.
k0s is an open source, all-inclusive Kubernetes distribution, which is configured with all of the features needed to build a Kubernetes cluster and packaged as a single binary for ease of use. Due to its simple design, flexible deployment options and modest system requirements, k0s is well suited for

- Any cloud
- Bare metal
- Edge and IoT

k0s drastically reduces the complexity of installing and running a CNCF certified Kubernetes distribution. With k0s new clusters can be bootstrapped in minutes and developer friction is reduced to zero. This allows anyone with no special skills or expertise in Kubernetes to easily get started.

k0s fits well in any cloud environment, but can also be used in IoT gateways, Edge and Bare metal deployments due to its simple design, flexible deployment options and modest system requirements.
k0s is distributed as a single binary with zero host OS dependencies besides the host OS kernel. It works with any Linux without additional software packages or configuration. Any security vulnerabilities or performance issues can be fixed directly in the k0s distribution that makes it extremely straightforward to keep the clusters up-to-date and secure.
<!-- End Overview -->

<!-- Start Key Features -->
## Key Features

- Different installation methods: [single-node](docs/install.md), [multi-node](docs/k0sctl-install.md), [airgap](docs/airgap-install.md) and [Docker](docs/k0s-in-docker.md)
- Certified and 100% upstream Kubernetes
- Multiple installation methods: [single-node](docs/install.md), [multi-node](docs/k0sctl-install.md), [airgap](docs/airgap-install.md) and [Docker](docs/k0s-in-docker.md)
- Automatic lifecycle management with k0sctl: [upgrade](docs/upgrade.md), [backup and restore](docs/backup.md)
- Modest [system requirements](docs/system-requirements.md) (1 vCPU, 1 GB RAM)
- Vanilla upstream Kubernetes (with no changes)
- Available as a single binary with no [external runtime dependencies](docs/external-runtime-deps.md) besides the kernel
- Flexible deployment options with [control plane isolation](docs/networking.md#controller-worker-communication) as default
- Scalable from a single node to large, [high-available](docs/high-availability.md) clusters
- Supports custom [Container Network Interface (CNI)](docs/networking.md) plugins (Kube-Router is the default, Calico is offered as preconfigured alternative)
- Supports custom [Container Network Interface (CNI)](docs/networking.md) plugins (Kube-Router is the default, Calico is offered as a preconfigured alternative)
- Supports custom [Container Runtime Interface (CRI)](docs/runtime.md) plugins (containerd is the default)
- Supports all Kubernetes storage options with [Container Storage Interface (CSI)](docs/storage.md)
- Supports a variety of [datastore backends](docs/configuration.md#specstorage): etcd (default for multi-node clusters), SQLite (default for single node clusters), MySQL, and PostgreSQL
- Supports x86-64, ARM64 and ARMv7
- [Konnectivity service](docs/networking.md#controller-worker-communication), CoreDNS, Metrics Server
- Includes [Konnectivity service](docs/networking.md#controller-worker-communication), CoreDNS and Metrics Server
<!-- End Key Features -->

## Getting Started

Expand All @@ -56,6 +68,7 @@ If you'd like to try k0s, please jump in to our:
- [Run k0s in Docker](https://docs.k0sproject.io/stable/k0s-in-docker/) - Run k0s controllers and workers in containers.
- For docs, tutorials, and other k0s resources, see [docs main page](https://docs.k0sproject.io).

<!-- Start Join the Community -->
## Join the Community

- [Lens Forums] - Request for support and help from the Lens and k0s community.
Expand All @@ -82,7 +95,9 @@ To see the call details in your local timezone, check out [https://dateful.com/e
k0s is used in numerous cases and environments. The range we've seen it being adopted ranges from very small far edge deployments to big data center deployments. Please add your use case to [adopters] list.

[adopters]: docs/adopters.md
<!-- End Join the Community -->

<!-- Start Motivation -->
## Motivation

_We have seen a gap between the host OS and Kubernetes that runs on top of it: How to ensure they work together as they are upgraded independent from each other? Who is responsible for vulnerabilities or performance issues originating from the host OS that affect the K8S on top?_
Expand All @@ -96,11 +111,13 @@ _We have seen K8S with partial FIPS security compliance: How to ensure security
_We have seen Kubernetes with cumbersome lifecycle management, high minimum system requirements, weird host OS and infra restrictions, and/or need to use different distros to meet different use cases._

**&rarr;** k0s is designed to be lightweight at its core. It comes with a tool to automate cluster lifecycle management. It works on any host OS and infrastructure, and may be extended to work with any use cases such as edge, IoT, telco, public clouds, private data centers, and hybrid & hyper converged cloud applications without sacrificing the pure Kubernetes compliance or amazing developer experience.
<!-- End Motivation -->

## Status

k0s is ready for production (starting from v1.21.0+k0s.0). Since the initial release of k0s back in November 2020, we have made numerous releases, improved stability, added new features, and most importantly, listened to our users and community in an effort to create the most modern Kubernetes product out there. The active development continues to make k0s even better.

<!-- Start Scope -->
## Scope

While some Kubernetes distros package everything and the kitchen sink, k0s tries to minimize the amount of "add-ons" to bundle in. Instead, we aim to provide a robust and versatile "base" for running Kubernetes in various setups. Of course we will provide some ways to easily control and setup various "add-ons", but we will not bundle many of those into k0s itself. There are a couple of reasons why we think this is the correct way:
Expand All @@ -109,6 +126,7 @@ While some Kubernetes distros package everything and the kitchen sink, k0s tries
- Keeping up with the upstream releases with many external addons is very maintenance heavy. Shipping with old versions does not make much sense either.

With strong enough arguments we might take in new addons, but in general those should be something that are essential for the "core" of k0s.
<!-- End Scope -->

## Build

Expand Down
84 changes: 36 additions & 48 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,72 +1,60 @@
# k0s - The Zero Friction Kubernetes

![k0s logo](img/k0s-logo-full-color-light.svg)
<!-- When changing this file, consider to change ../README.md, too! -->

k0s is an open source, all-inclusive Kubernetes distribution, which is configured with all of the features needed to build a Kubernetes cluster. Due to its simple design, flexible deployment options and modest system requirements, k0s is well suited for
![k0s-logo-dark](img/k0s-logo-full-color-dark.svg#only-dark)
![k0s-logo-light](img/k0s-logo-full-color-light.svg#only-light)

- Any cloud
- Bare metal
- Edge and IoT
{%
include-markdown "../README.md"
start="<!-- Start Overview -->"
end="<!-- End Overview -->"
%}

k0s drastically reduces the complexity of installing and running a CNCF certified Kubernetes distribution. With k0s new clusters can be bootstrapped in minutes and developer friction is reduced to zero. This allows anyone with no special skills or expertise in Kubernetes to easily get started.
## What happened to GitHub stargazers?

k0s is distributed as a single binary with zero host OS dependencies besides the host OS kernel. It works with any Linux without additional software packages or configuration. Any security vulnerabilities or performance issues can be fixed directly in the k0s distribution that makes it extremely straightforward to keep the clusters up-to-date and secure.

## What happened to Github stargazers?

In September 2022 we made a human error while creating some build automation scripts&tools for the Github repository. Our automation accidentally changed the repo to a private one for few minutes. That itself is not a big deal and everything was restored quickly. But the nasty side effect is that it also removed all the stargazers at that point. :(
In September 2022 we made a human error while creating some build automation scripts&tools for the GitHub repository. Our automation accidentally changed the repo to a private one for few minutes. That itself is not a big deal and everything was restored quickly. But the nasty side effect is that it also removed all the stargazers at that point. :(

Before that mishap we had 4776 stargazers, making k0s one of the most popular Kubernetes distro out there.

**So if you are reading this, and have not yet starred [k0s repo](https://github.com/k0sproject/k0s/) we would highly appreciate the :star: to get our numbers closer to what they used to be.**

## Key Features
**So if you are reading this, and have not yet starred the [k0s repository](https://github.com/k0sproject/k0s/) we would highly appreciate the :star: to get our numbers closer to what they used to be.**

- Certified and 100% upstream Kubernetes
- Multiple installation methods: [single-node](install.md), [multi-node](k0sctl-install.md), [airgap](airgap-install.md) and [Docker](k0s-in-docker.md)
- Automatic lifecycle management with k0sctl: [upgrade](upgrade.md), [backup and restore](backup.md)
- Modest [system requirements](system-requirements.md) (1 vCPU, 1 GB RAM)
- Available as a single binary with no [external runtime dependencies](external-runtime-deps.md) besides the kernel
- Flexible deployment options with [control plane isolation](networking.md#controller-worker-communication) as default
- Scalable from a single node to large, [high-available](high-availability.md) clusters
- Supports custom [Container Network Interface (CNI)](networking.md) plugins (Kube-Router is the default, Calico is offered as a preconfigured alternative)
- Supports custom [Container Runtime Interface (CRI)](runtime.md) plugins (containerd is the default)
- Supports all Kubernetes storage options with [Container Storage Interface (CSI)](storage.md), includes [OpenEBS host-local storage provider](examples/openebs.md)
- Supports a variety of [datastore backends](configuration.md#specstorage): etcd (default for multi-node clusters), SQLite (default for single node clusters), MySQL, and PostgreSQL
- Supports x86-64, ARM64 and ARMv7
- Includes [Konnectivity service](networking.md#controller-worker-communication), CoreDNS and Metrics Server
{%
include-markdown "../README.md"
start="<!-- Start Key Features -->"
end="<!-- End Key Features -->"
%}

## Getting Started

[Quick Start Guide](install.md) for creating a full Kubernetes cluster with a single node.
- [Quick Start Guide](install.md) for creating a full Kubernetes cluster with a single node.
- [Install using k0sctl](k0sctl-install.md) - Deploy and upgrade multi-node clusters with one command.
- [Run k0s in Docker](k0s-in-docker.md) - Run k0s controllers and workers in containers.

## Demo

![k0s demo](img/k0s_demo.gif)

## Community Support

- [Lens Forums] - Request for support and help from the Lens and k0s community.
- [GitHub Issues] - Submit your issues and feature requests via GitHub.

We welcome your help in building k0s! If you are interested, we invite you to
check out the [Contributing Guide] and the [Code of Conduct].

[Lens Forums]: https://forums.k8slens.dev/
[GitHub Issues]: https://github.com/k0sproject/k0s/issues
[Contributing Guide]: https://docs.k0sproject.io/stable/contributors/overview/
[Code of Conduct]:https://docs.k0sproject.io/stable/contributors/CODE_OF_CONDUCT/

## Community hours

We will be holding regular community hours. Everyone in the community is welcome to drop by and ask questions, talk about projects, and chat.

We currently have a monthly office hours call on the last Tuesday of the month.

To see the call details in your local timezone, check out [https://dateful.com/eventlink/2735919704](https://dateful.com/eventlink/2735919704).
{%
include-markdown "../README.md"
start="<!-- Start Join the Community -->"
end="<!-- End Join the Community -->"
%}

## Commercial Support

[Mirantis](https://www.mirantis.com/software/k0s/) offers technical support, professional services and training for k0s. The support subscriptions include, for example, prioritized support (Phone, Web, Email) and access to verified extensions on top of your k0s cluster.

For any k0s inquiries, please contact us via email [[email protected]](mailto:[email protected]).

{%
include-markdown "../README.md"
start="<!-- Start Motivation -->"
end="<!-- End Motivation -->"
%}

{%
include-markdown "../README.md"
start="<!-- Start Scope -->"
end="<!-- End Scope -->"
%}
11 changes: 11 additions & 0 deletions docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
babel==2.16.0
bracex==2.5.post1
certifi==2024.8.30
charset-normalizer==2.1.1
click==8.1.7
colorama==0.4.6
ghp-import==2.1.0
idna==3.10
importlib-metadata==8.5.0
importlib-resources==6.4.5
Jinja2==3.1.4
Markdown==3.7
MarkupSafe==3.0.1
Expand All @@ -12,10 +16,15 @@ mergedeep==1.3.4
mike==2.1.3
mkdocs==1.6.1
mkdocs-exclude==1.0.2
mkdocs-get-deps==0.2.0
mkdocs-include-markdown-plugin==6.2.2
mkdocs-macros-plugin==1.2.0
mkdocs-material==9.5.39
mkdocs-material-extensions==1.3.1
packaging==24.1
paginate==0.5.7
pathspec==0.12.1
platformdirs==4.3.6
Pygments==2.18.0
pymdown-extensions==10.11.2
pyparsing==3.1.4
Expand All @@ -29,3 +38,5 @@ termcolor==2.5.0
urllib3==1.26.20
verspec==0.1.0
watchdog==5.0.3
wcmatch==10.0
zipp==3.20.2
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ plugins:
- Makefile*
- requirements_pip.txt
- requirements.txt
- include-markdown

markdown_extensions:
- pymdownx.highlight: {}
Expand Down

0 comments on commit aab6bde

Please sign in to comment.