Compatibility Matrix
This page documents the compatibility matrix of versions of Contour, Envoy, Kubernetes, and Gateway API. These combinations of versions are specifically tested in CI and supported by the Contour maintainers.
Compatibility Matrix
Contour Version | Envoy Version | Kubernetes Versions | Gateway API Version |
---|---|---|---|
main | 1.31.0 | 1.31, 1.30, 1.29 | 1.1.0 |
1.30.0 | 1.31.0 | 1.30, 1.29, 1.28 | 1.1.0 |
1.29.2 | 1.30.4 | 1.29, 1.28, 1.27 | 1.0.0 |
1.29.1 | 1.30.2 | 1.29, 1.28, 1.27 | 1.0.0 |
1.29.0 | 1.30.1 | 1.29, 1.28, 1.27 | 1.0.0 |
1.28.6 | 1.29.7 | 1.29, 1.28, 1.27 | 1.0.0 |
1.28.5 | 1.29.5 | 1.29, 1.28, 1.27 | 1.0.0 |
1.28.4 | 1.29.4 | 1.29, 1.28, 1.27 | 1.0.0 |
1.28.3 | 1.29.3 | 1.29, 1.28, 1.27 | 1.0.0 |
1.28.2 | 1.29.2 | 1.29, 1.28, 1.27 | 1.0.0 |
1.28.1 | 1.29.1 | 1.29, 1.28, 1.27 | 1.0.0 |
1.28.0 | 1.29.1 | 1.29, 1.28, 1.27 | 1.0.0 |
1.27.4 | 1.28.4 | 1.28, 1.27, 1.26 | 0.8.1 |
1.27.3 | 1.28.3 | 1.28, 1.27, 1.26 | 0.8.1 |
1.27.2 | 1.28.2 | 1.28, 1.27, 1.26 | 0.8.1 |
1.27.1 | 1.28.1 | 1.28, 1.27, 1.26 | 0.8.1 |
1.27.0 | 1.28.0 | 1.28, 1.27, 1.26 | 0.8.1 |
1.26.3 | 1.27.4 | 1.28, 1.27, 1.26 | 0.8.1 |
1.26.2 | 1.27.3 | 1.28, 1.27, 1.26 | 0.8.1 |
1.26.1 | 1.27.2 | 1.28, 1.27, 1.26 | 0.8.1 |
1.26.0 | 1.27.0 | 1.28, 1.27, 1.26 | 0.8.0 |
1.25.3 | 1.26.6 | 1.27, 1.26, 1.25 | 0.6.2 |
1.25.2 | 1.26.4 | 1.27, 1.26, 1.25 | 0.6.2 |
1.25.1 | 1.26.4 | 1.27, 1.26, 1.25 | 0.6.2 |
1.25.0 | 1.26.1 | 1.27, 1.26, 1.25 | 0.6.2 |
1.24.6 | 1.25.11 | 1.26, 1.25, 1.24 | 0.6.0 |
1.24.5 | 1.25.9 | 1.26, 1.25, 1.24 | 0.6.0 |
1.24.4 | 1.25.6 | 1.26, 1.25, 1.24 | 0.6.0 |
1.24.3 | 1.25.4 | 1.26, 1.25, 1.24 | 0.6.0 |
1.24.2 | 1.25.2 | 1.26, 1.25, 1.24 | 0.6.0 |
1.24.1 | 1.25.1 | 1.26, 1.25, 1.24 | 0.6.0 |
1.24.0 | 1.25.0 | 1.26, 1.25, 1.24 | 0.6.0 |
1.23.6 | 1.24.10 | 1.25, 1.24, 1.23 | 0.5.1 |
1.23.5 | 1.24.5 | 1.25, 1.24, 1.23 | 0.5.1 |
1.23.4 | 1.24.3 | 1.25, 1.24, 1.23 | 0.5.1 |
1.23.3 | 1.24.2 | 1.25, 1.24, 1.23 | 0.5.1 |
1.23.2 | 1.24.1 | 1.25, 1.24, 1.23 | 0.5.1 |
1.23.1 | 1.24.1 | 1.25, 1.24, 1.23 | 0.5.1 |
1.23.0 | 1.24.0 | 1.25, 1.24, 1.23 | 0.5.1 |
1.22.6 | 1.23.7 | 1.24, 1.23, 1.22 | 0.5.0 |
1.22.5 | 1.23.5 | 1.24, 1.23, 1.22 | 0.5.0 |
1.22.4 | 1.23.4 | 1.24, 1.23, 1.22 | 0.5.0 |
1.22.3 | 1.23.3 | 1.24, 1.23, 1.22 | 0.5.0 |
1.22.2 | 1.23.3 | 1.24, 1.23, 1.22 | 0.5.0 |
1.22.1 | 1.23.1 | 1.24, 1.23, 1.22 | 0.5.0 |
1.22.0 | 1.23.0 | 1.24, 1.23, 1.22 | 0.5.0 |
1.21.3 | 1.22.6 | 1.23, 1.22, 1.21 | 0.4.3 |
1.21.2 | 1.22.6 | 1.23, 1.22, 1.21 | 0.4.3 |
1.21.1 | 1.22.2 | 1.23, 1.22, 1.21 | 0.4.3 |
1.21.0 | 1.22.0 | 1.23, 1.22, 1.21 | 0.4.3 |
1.20.2 | 1.21.3 | 1.23, 1.22, 1.21 | 0.4.1 |
1.20.1 | 1.21.1 | 1.23, 1.22, 1.21 | 0.4.1 |
1.20.0 | 1.21.0 | 1.23, 1.22, 1.21 | 0.4.1 |
1.19.1 | 1.19.1 | 1.22, 1.21, 1.20 | 0.3.0 |
1.19.0 | 1.19.1 | 1.22, 1.21, 1.20 | 0.3.0 |
1.18.3 | 1.19.1 | 1.21, 1.20, 1.19 | 0.3.0 |
1.18.2 | 1.19.1 | 1.21, 1.20, 1.19 | 0.3.0 |
1.18.1 | 1.19.1 | 1.21, 1.20, 1.19 | 0.3.0 |
1.18.0 | 1.19.0 | 1.21, 1.20, 1.19 | 0.3.0 |
1.17.2 | 1.18.4 | 1.21, 1.20, 1.19 | 0.3.0 |
1.17.1 | 1.18.3 | 1.21, 1.20, 1.19 | 0.3.0 |
1.17.0 | 1.18.3 | 1.21, 1.20, 1.19 | 0.3.0 |
1.16.1 | 1.18.4 | 1.21, 1.20, 1.19 | 0.3.0 |
1.16.0 | 1.18.3 | 1.21, 1.20, 1.19 | 0.3.0 |
1.15.2 | 1.18.4 | 1.21, 1.20, 1.19 | 0.3.0 |
1.15.1 | 1.18.3 | 1.21, 1.20, 1.19 | 0.3.0 |
1.15.0 | 1.18.2 | 1.21, 1.20, 1.19 | 0.3.0 |
1.14.2 | 1.17.4 | 1.20, 1.19, 1.18 | 0.2.0 |
1.14.1 | 1.17.2 | 1.20, 1.19, 1.18 | 0.2.0 |
1.14.0 | 1.17.1 | 1.20, 1.19, 1.18 | 0.2.0 |
1.13.1 | 1.17.1 | 1.20, 1.19, 1.18 | 0.2.0 |
1.13.0 | 1.17.0 | 1.20, 1.19, 1.18 | 0.2.0 |
1.12.0 | 1.17.0 | 1.19, 1.18, 1.17 | N/A |
1.11.0 | 1.16.2 | 1.19, 1.18, 1.17 | N/A |
1.10.1 | 1.16.2 | 1.19, 1.18, 1.17 | N/A |
1.10.0 | 1.16.0 | 1.19, 1.18, 1.17 | N/A |
1.9.0 | 1.15.1 | 1.18, 1.17, 1.16 | 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 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.