Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Kubernetes support policy #3406

Merged
merged 1 commit into from
Oct 29, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions docs/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@

This document details compatibility guarantees the OpenTelemetry Operator offers for its dependencies and platforms.

## Kubernetes

As a rule, the operator tries to be compatible with as wide a range of Kubernetes versions as possible.

We will *always* support all the versions maintained by the upstream Kubernetes project, as detailed on its [releases page][kubernetes_releases].

We will make every effort to support all Kubernetes versions maintained by popular distributions and hosted platforms. For example, you can realistically expect us to always support all versions offered by [OpenShift][openshift_support] and [AWS EKS][aws_support].

Whenever we do remove support for a Kubernetes version, we will give at least one month's notice beforehand.

The [compatibility matrix](#compatibility-matrix) below precisely shows the supported Kubernetes versions for each operator release.

## OpenTelemetry Operator vs. OpenTelemetry Collector

The OpenTelemetry Operator follows the same versioning as the operand (OpenTelemetry Collector) up to the minor part of the version. For example, the OpenTelemetry Operator v0.18.1 tracks OpenTelemetry Collector 0.18.0. The patch part of the version indicates the patch level of the operator itself, not that of OpenTelemetry Collector. Whenever a new patch version is released for OpenTelemetry Collector, we'll release a new patch version of the operator.
Expand All @@ -12,8 +24,6 @@ When a custom `Spec.Image` is used with an `OpenTelemetryCollector` resource, th

## Compatibility matrix

We strive to be compatible with the widest range of Kubernetes versions as possible, but some changes to Kubernetes itself require us to break compatibility with older Kubernetes versions, be it because of code incompatibilities, or in the name of maintainability. Every released operator will support a specific range of Kubernetes versions, to be determined at the latest during the release.

We use `cert-manager` for some features of this operator and the third column shows the versions of the `cert-manager` that are known to work with this operator's versions.

The Target Allocator supports prometheus-operator CRDs like ServiceMonitor, and it does so by using packages imported from prometheus-operator itself. The table shows which version is shipped with a given operator version.
Expand Down Expand Up @@ -46,4 +56,8 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range,
| v0.91.0 | v1.23 to v1.29 | v1 | v0.70.0 |
| v0.90.0 | v1.23 to v1.28 | v1 | v0.69.1 |
| v0.89.0 | v1.23 to v1.28 | v1 | v0.69.1 |
| v0.88.0 | v1.23 to v1.28 | v1 | v0.68.0 |
| v0.88.0 | v1.23 to v1.28 | v1 | v0.68.0 |

[kubernetes_releases]: https://kubernetes.io/releases/
[openshift_support]: https://access.redhat.com/support/policy/updates/openshift
[aws_support]: https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html
Loading