Skip to content

Commit

Permalink
Add platforms documentation
Browse files Browse the repository at this point in the history
This adds the documentation about supported Kubernetes platforms to our
repository.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
  • Loading branch information
saschagrunert committed Nov 30, 2020
1 parent 34418bd commit 528b7aa
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions release-engineering/platforms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Supported Platforms

The Kubernetes release process produces [artifacts](./artifacts.md) for
different architectures and operating systems. We consider the combination of
architecture (`GOARCH`) and operating system (`GOOS`) as "platforms". Target of
this document is to outline different categories of platforms as well as guiding
through their graduation criteria.

## Tiers

Support for different platforms are organized into three tiers, whereas each
comes with a different set of guarantees.

### Tier 1

Tier 1 platforms are considered as "guaranteed to work". To achieve this, they
have to fulfil the following criteria:

- **All** official binary releases are provided for the platform. This includes
container images as well as deb and rpm packages. Building the artifacts is
integrated in the release process.
- Continuous Integration is set up to run tests for the platform. Necessary
tests are defined by SIG Release and usually correspond to the
[`blocking`](https://testgrid.k8s.io/sig-release-master-blocking) and
[`informing`](https://testgrid.k8s.io/sig-release-master-informing) testgrid
dashboards.
- Documentation about the usage of artifacts for the platform is available.

### Tier 2

Tier 2 platforms are considered as "guaranteed to build". To achieve this, they
have to fulfil the following criteria:

- **Any** official binary release is provided for the platform. Building the
artifacts is integrated in the release process.
- Automated testing is not or only partially setup.

It may be possible that single features are not available for a certain
platform.

### Tier 3

Tier 3 platforms are those which the Kubernetes codebase has support for, but
which are not built or tested automatically. This means the binary artifacts may
not work as intended.

- Official builds are not available.
- Automated testing is not setup.

## Currently available Kubernetes platforms

The following table defines the current setup of available Kubernetes platforms:

| Platform | Tier 1 | Tier 2 | Tier 3 |
| --------------- | :----------------: | :----------------: | :----------------: |
| `amd64-linux` | :heavy_check_mark: | | |
| `arm64-linux` | | :heavy_check_mark: | |
| `arm-linux` | | :heavy_check_mark: | |
| `amd64-darwin` | | :heavy_check_mark: | |
| `386-linux` | | :heavy_check_mark: | |
| `ppc64le-linux` | | :heavy_check_mark: | |
| `s390x-linux` | | :heavy_check_mark: | |
| `386-windows` | | :heavy_check_mark: | |
| `amd64-windows` | | :heavy_check_mark: | |
| otherwise | | | :heavy_check_mark: |

0 comments on commit 528b7aa

Please sign in to comment.