Contour Logo

Compatibility Matrix

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 VersionEnvoy VersionKubernetes VersionsOperator Version
main1.19.01.21, 1.20, 1.19main
1.18.11.19.01.21, 1.20, 1.191.18.0
1.17.11.18.31.21, 1.20, 1.19N/A
1.17.01.18.31.21, 1.20, 1.191.17.0
1.16.01.18.31.21, 1.20, 1.191.16.0
1.15.11.18.31.21, 1.20, 1.191.15.1
1.15.01.18.21.21, 1.20, 1.191.15.0
1.14.11.17.21.20, 1.19, 1.181.14.1
1.14.01.17.11.20, 1.19, 1.181.14.0
1.13.11.17.11.20, 1.19, 1.181.13.1
1.13.01.17.01.20, 1.19, 1.181.13.0
1.12.01.17.01.19, 1.18, 1.171.12.0
1.11.01.16.21.19, 1.18, 1.171.11.0
1.10.11.16.21.19, 1.18, 1.17N/A
1.10.01.16.01.19, 1.18, 1.17N/A
1.9.01.15.11.18, 1.17, 1.16N/A
1.8.21.15.11.18, 1.17, 1.16N/A
1.8.11.15.01.18, 1.17, 1.16N/A
1.8.01.15.01.18, 1.17, 1.16N/A
1.7.01.15.01.18, 1.17, 1.16N/A
1.6.11.14.31.18, 1.17, 1.16N/A
1.6.01.14.21.18, 1.17, 1.16N/A
1.5.11.14.21.18, 1.17, 1.16N/A
1.5.01.14.11.18, 1.17, 1.16N/A
1.4.01.14.11.17, 1.16, 1.15N/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.

Ready to try Contour?

Read our getting started documentation.