Skip to content

Versioning

The Karavel Container Platform aims at supporting the current version of Kubernetes plus two prior versions. This provides enough time for operators to maintain their Karavel clusters with confidence and clear upgrade paths.

Karavel maintains two versioning policies: a per-component policy and a platform-wide policy. Component versions follow Semantic Versioning principles and are always in the major.minor.patch format (e.g. 0.3.1).
Platform versions follow a Calendar Versioning schema composed as yyyy.minor.patch (e.g. 2021.2.3).

Component versioning policy

Each Karavel component is packaged and versioned individually. Component versions may increase because of changes being made in the component chart, or because the packaged software version has been updated.

In the latter case the component version will be incremented as well to reflect the new upstream version.
For instance, if cert-manager updates from 1.0.0 to 1.0.1, the component's patch version will be increased.
If cert-manager updates from 1.0.0 to 1.1.0, this will update the component's minor version.
Finally, if cert-manager releases a shiny new 2.0.0 version a new major version of the component will be released as well

Sometimes however, the Karavel project will release a new version of a component to reflect changes made to the chart or the manifests it deploys, without changing the upstream software version. These changes will trigger a version bump according to the rules of Semantic Versioning.
A backward compatible bugfix will increment the patch version.
A backward compatible improvement or new feature will increment the minor version.
A backward incompatible or otherwise breaking change will increment the major version.

Platform versioning policy

Due to the large amount of components provided by Karavel and the possible interactions between them to compose a production-ready Kubernetes platform, the Karavel project regularly picks specific component versions that have been extensively tested and verified to work well together. These curated selections compose the Karavel Container Platform and are published under a single version, much like a Linux distribution would do with its packages and repositories. This gives developers working on components the freedom to iterate and improve their charts without being tied down to the others, and it gives operators the confidence that their clusters will always work at their best, while still being able to update specific components independently to leverage new features.

The Karavel team maintains the Karavel Container Platform in sync with the target Kubernetes versions.
Karavel supports the current K8s version plus two prior releases.
The Karavel project will drop support for a given Karavel Container Platform release when the lowest compatible Kubernetes version becomes unsupported. As a general recommendation, operators should strive to keep Karavel clusters on the latest minor version of both Kubernetes and the Karavel Container Platform.

Kubernetes compatibility matrix

Karavel Container Platform Version Kubernetes 1.20 Kubernetes 1.21 Kubernetes 1.22 (current) Kubernetes 1.23 (next)
unstable
2021.1 (coming December 2021)

compatible
specific requirements or caveats are present. Consult the release changelog for more information
planned but not yet available
actively being developed

Cloud providers support matrix

The Karavel Container Platform is regularly tested on a number of different Kubernetes managed services in addition to plain upstream Kubernetes. Currently, these are the officially supported providers. Kubernetes versions are tested following the table in the previous section. Support for a managed service illustrates the integration status with other parts of the cloud provider, such as their credentials storage for External Secrets, DNS provider, object storage, and so on.

Provider Kubernetes Secrets Storage DNS Object Storage
Amazon EKS
DigitalOcean Kubernetes offering not available
Azure AKS
Google GKE

For a more updated timeline of planned features, please refer to the official project board.