Skip to content

Latest commit

 

History

History
198 lines (177 loc) · 13.6 KB

compatibility-matrix.md

File metadata and controls

198 lines (177 loc) · 13.6 KB
title layout
Compatibility Matrix
page

This page documents the compatibility matrix of versions of Contour, Envoy, Kubernetes, and the Contour Operator. These combinations of versions are specifically tested in CI and supported by the Contour maintainers.

Compatibility Matrix

Contour Version Envoy Version Kubernetes Versions Operator Version Gateway API Version
main 1.27.0 1.28, 1.27, 1.26 N/A v1alpha2, v1beta1
1.26.0 1.27.0 1.28, 1.27, 1.26 N/A v1alpha2, v1beta1
1.25.2 1.26.4 1.27, 1.26, 1.25 N/A v1alpha2, v1beta1
1.25.1 1.26.4 1.27, 1.26, 1.25 N/A v1alpha2, v1beta1
1.25.0 1.26.1 1.27, 1.26, 1.25 N/A v1alpha2, v1beta1
1.24.5 1.25.9 1.26, 1.25, 1.24 N/A v1alpha2, v1beta1
1.24.4 1.25.6 1.26, 1.25, 1.24 N/A v1alpha2, v1beta1
1.24.3 1.25.4 1.26, 1.25, 1.24 N/A v1alpha2, v1beta1
1.24.2 1.25.2 1.26, 1.25, 1.24 N/A v1alpha2, v1beta1
1.24.1 1.25.1 1.26, 1.25, 1.24 N/A v1alpha2, v1beta1
1.24.0 1.25.0 1.26, 1.25, 1.24 1.24.0 v1alpha2, v1beta1
1.23.6 1.24.10 1.25, 1.24, 1.23 N/A v1alpha2, v1beta1
1.23.5 1.24.5 1.25, 1.24, 1.23 N/A v1alpha2, v1beta1
1.23.4 1.24.3 1.25, 1.24, 1.23 N/A v1alpha2, v1beta1
1.23.3 1.24.2 1.25, 1.24, 1.23 N/A v1alpha2, v1beta1
1.23.2 1.24.1 1.25, 1.24, 1.23 N/A v1alpha2, v1beta1
1.23.1 1.24.1 1.25, 1.24, 1.23 N/A v1alpha2, v1beta1
1.23.0 1.24.0 1.25, 1.24, 1.23 1.23.0 v1alpha2, v1beta1
1.22.6 1.23.7 1.24, 1.23, 1.22 N/A v1alpha2, v1beta1
1.22.5 1.23.5 1.24, 1.23, 1.22 N/A v1alpha2, v1beta1
1.22.4 1.23.4 1.24, 1.23, 1.22 N/A v1alpha2, v1beta1
1.22.3 1.23.3 1.24, 1.23, 1.22 N/A v1alpha2, v1beta1
1.22.2 1.23.3 1.24, 1.23, 1.22 N/A v1alpha2, v1beta1
1.22.1 1.23.1 1.24, 1.23, 1.22 1.22.1 v1alpha2, v1beta1
1.22.0 1.23.0 1.24, 1.23, 1.22 1.22.0 v1alpha2, v1beta1
1.21.3 1.22.6 1.23, 1.22, 1.21 N/A v1alpha2
1.21.2 1.22.6 1.23, 1.22, 1.21 N/A v1alpha2
1.21.1 1.22.2 1.23, 1.22, 1.21 1.21.1 v1alpha2
1.21.0 1.22.0 1.23, 1.22, 1.21 1.21.0 v1alpha2
1.20.2 1.21.3 1.23, 1.22, 1.21 1.20.2 v1alpha2
1.20.1 1.21.1 1.23, 1.22, 1.21 1.20.1 v1alpha2
1.20.0 1.21.0 1.23, 1.22, 1.21 1.20.0 v1alpha2
1.19.1 1.19.1 1.22, 1.21, 1.20 1.19.1 v1alpha1
1.19.0 1.19.1 1.22, 1.21, 1.20 1.19.0 v1alpha1
1.18.3 1.19.1 1.21, 1.20, 1.19 1.18.3 v1alpha1
1.18.2 1.19.1 1.21, 1.20, 1.19 1.18.2 v1alpha1
1.18.1 1.19.1 1.21, 1.20, 1.19 1.18.1 v1alpha1
1.18.0 1.19.0 1.21, 1.20, 1.19 1.18.0 v1alpha1
1.17.2 1.18.4 1.21, 1.20, 1.19 N/A v1alpha1
1.17.1 1.18.3 1.21, 1.20, 1.19 N/A v1alpha1
1.17.0 1.18.3 1.21, 1.20, 1.19 1.17.0 v1alpha1
1.16.1 1.18.4 1.21, 1.20, 1.19 N/A v1alpha1
1.16.0 1.18.3 1.21, 1.20, 1.19 1.16.0 v1alpha1
1.15.2 1.18.4 1.21, 1.20, 1.19 N/A v1alpha1
1.15.1 1.18.3 1.21, 1.20, 1.19 1.15.1 v1alpha1
1.15.0 1.18.2 1.21, 1.20, 1.19 1.15.0 v1alpha1
1.14.2 1.17.4 1.20, 1.19, 1.18 N/A v1alpha1
1.14.1 1.17.2 1.20, 1.19, 1.18 1.14.1 v1alpha1
1.14.0 1.17.1 1.20, 1.19, 1.18 1.14.0 v1alpha1
1.13.1 1.17.1 1.20, 1.19, 1.18 1.13.1 v1alpha1
1.13.0 1.17.0 1.20, 1.19, 1.18 1.13.0 v1alpha1
1.12.0 1.17.0 1.19, 1.18, 1.17 1.12.0 N/A
1.11.0 1.16.2 1.19, 1.18, 1.17 1.11.0 N/A
1.10.1 1.16.2 1.19, 1.18, 1.17 N/A N/A
1.10.0 1.16.0 1.19, 1.18, 1.17 N/A N/A
1.9.0 1.15.1 1.18, 1.17, 1.16 N/A N/A

Notes on Compatibility

As of Contour version 1.16.0, Contour only subscribes to Ingress v1 resources (and no longer falls back to Ingress v1beta1). The minimum compatible Kubernetes version for Contour 1.16.0 and above is Kubernetes 1.19.

Contour utilizes client-go to watch for resources in a Kubernetes cluster. We depend on the latest version of the library and by extension only support the latest versions of Kubernetes. While the client-go compatibility matrix may list older versions of Kubernetes as being compatible and supported by upstream, the Contour project only tests a given version of Contour against the versions listed in the table above. Combinations not listed are not tested, guaranteed to work, or supported by the Contour maintainers.

Envoy Extensions

Contour requires the following Envoy extensions. If you are using the image recommended in our [example deployment][1] no action is required. If you are providing your own Envoy it must be compiled with the following extensions:

  • Access Loggers:

    • envoy.access_loggers.file
    • envoy.access_loggers.http_grpc
    • envoy.access_loggers.tcp_grpc
  • Compression:

    • envoy.compression.gzip.compressor
  • HTTP Filters:

    • envoy.filters.http.compressor
    • envoy.filters.http.cors
    • envoy.filters.http.ext_authz
    • envoy.filters.http.grpc_stats
    • envoy.filters.http.grpc_web
    • envoy.filters.http.health_check
    • envoy.filters.http.lua
    • envoy.filters.http.router
  • Listener filters

    • envoy.filters.listener.http_inspector
    • envoy.filters.listener.original_dst
    • envoy.filters.listener.proxy_protocol
    • envoy.filters.listener.tls_inspector
  • Network filters

    • envoy.filters.network.client_ssl_auth
    • envoy.filters.network.ext_authz
    • envoy.filters.network.http_connection_manager
    • envoy.filters.network.tcp_proxy
  • Transport sockets

    • envoy.transport_sockets.upstream_proxy_protocol
    • envoy.transport_sockets.raw_buffer
  • Http Upstreams

    • envoy.upstreams.http.http
    • envoy.upstreams.http.tcp

Note: This list of extensions was last verified to be complete with Envoy v1.16.1.

[1]: {{< param github_url >}}/tree/{{< param latest_version >}}/examples/contour