This document provides a link to the Contour Project board that serves as the up to date description of items that are in the Contour release pipeline. The board tracks the Github milestones for upcoming releases and other issues planned to work on soon. Most items are gathered from the community or include a feedback loop with the community. This should serve as a reference point for Contour users and contributors to understand where the project is heading, and help determine if a contribution could be conflicting with a longer term plan.
Discussion on the roadmap can take place in threads under Issues or in community meetings. Please open and comment on an issue if you want to provide suggestions and feedback to an item in the roadmap. Please review the roadmap to avoid potential duplicated efforts.
Please open an issue to track any initiative on the roadmap of Contour (Usually driven by new feature requests or feature proposals). For smaller enhancements, you can just open an issue to track that initiative or feature request. We work with and rely on community feedback to focus our efforts to improve Contour and maintain a healthy roadmap.
The following table includes the current roadmap for Contour. If you have any questions or would like to contribute to Contour, please attend a community meeting to discuss with our team. If you don't know where to start, we are always looking for contributors that will help us reduce technical, automation, and documentation debt. Please take the timelines & dates as proposals and goals. Priorities and requirements change based on community feedback, roadblocks encountered, community contributions, etc. If you depend on a specific item, we encourage you to attend community meetings to get updated status information, or help us deliver that feature by contributing to Contour.
Last Updated: April 2023
Theme | Description | Timeline | Issue | Notes |
---|---|---|---|---|
Gateway API | Support arbitrary number of Listeners per-Gateway | 2023 H1 | projectcontour/contour#4960 | Will likely be required to stay conformant with Gateway API. |
Infrastructure | Replace Contour xDS code with go-control-plane as default | 2023 H2 | projectcontour/contour#2134 | There’s some work left to do, but this should be finished soon.These changes will also make Delta xDS available, which should help with wire transfer times and scalability. |
Observability | Improve observability of Contour (the control plane) | 2023 H2 | metrics label | Additional metrics, logging, etc. will improve our and users' ability to troubleshoot bugs, performance issues and scale issues |
Scale | Improve Contour's performance and reduce resource utilization at scale | 2023 H2 | performance label | Ensure Contour operates well in large clusters. Ideally, automated testing is added to help prevent future regressions as well. |
Security | Add OIDC support to contour | Unknown | projectcontour/contour#2664 | This covers work to pull OIDC support directly into Contour, without requiring running an external auth server. We started this work, but the Oauth2 filter in Envoy is still very experimental and needs a lot of work. This work can’t proceed until significant work has been done on the Oauth2 filter. |
New Use Case | UDP Support | Won't Do | projectcontour/contour#1248 | Contour is focused on Layer 7 HTTP Ingress, and supports Layer 4 only in service of that goal. Contour will not add UDP support. |
Theme | Description | Timeline | Issue | Notes |
---|---|---|---|---|
Security | IP filtering | 2023 H1 | projectcontour/contour#2971 and projectcontour/contour#3693 | Implementation PR: projectcontour/contour#5008 |
Observability | Tracing support | 2023 H1 | projectcontour/contour#399 | Implementation PR: projectcontour/contour#5043 |
Gateway API | Implement GRPCRoute | 2023 H1 | projectcontour/contour#4820 | Implemented in projectcontour/contour#5114 |
Gateway API | Create a plan for v0.6.0 | 2022 H2 | projectcontour/contour#4738 | Make a plan for how to handle Gateway API v0.6.0 when it's released. |
Operational | Contour with managed Envoys | 2022 H1 | Contour’s Gateway API implementation now allows for the dynamic creation of Envoy Daemonsets or Deployments, this functionality is included there.We were considering making this available outside of Gateway API, but the work involved is too prohibitive. | |
Gateway APIs | Implement Gateway 0.5.0 API Support | 2021 H2 | projectcontour/contour#2287 | Contour will only support HTTPRoute and TLSRoute, the Layer 7 route objects. No support planned for TCPRoute and UDPRoute at this time. Related issue that's on our radar - projectcontour/contour#3367 |
Deployment | Contour Operator GA | Won't do | projectcontour/contour-operator#205 | The Operator will not be moved to GA. It’s now in maintenance mode, and will have minimal updates done to keep it working with new Contour releases until we say otherwise. Once Envoy Gateway is available and ready for use, we strongly encourage Operator users to move to it for your dynamic ingress traffic routing needs. |
Operational | Harden contour-authserver to provide a simple auth option | Won't do | projectcontour/contour-authserver#14 | Contour-authserver is an experimental ext_auth server. We’re going to move this to archived, as we don’t expect further development on it. https://github.com/travisghansen/external-auth-server is a possible alternative. |
Load Balancing | List of hash_policy for HTTPProxy | Unknown | projectcontour/contour#3044 | |
Operational | Session Affinity by Source IP | 2021 H2 | projectcontour/contour#3703 | Implemented in #4141 |
Operational | Re-evaluate container image storage | 2021 H2 | projectcontour/contour#3366 | Contour's primary image storage has moved to Github Container Registry (GHCR) |
Security | FIPS Compliance | May 2021 | ||
General | Wildcard Hostname Matching | March 2021 | projectcontour/contour#2138 | A limited form of this is required for both Ingress and Gateway-APIs. |
Compatibility | Implement Kubernetes Ingress V1 specification (requires v1.16) | March 2021 | projectcontour/contour#2139 | |
Performance | Rate limiting support | February 2021 | projectcontour/contour#370 | Local rate limiting support arrived in 1.12 in January 2021, global rate limiting support arrived in 1.13, February 2021. |
General | Self Service Capabilities in Contour | 2021 H2 | projectcontour/contour#2206 mainly, with some others | See #2206, but in short, HTTPProxy and self-service don't work. The Gateway API has been better desgined to be able to support this sort of capability, and will be the method via which this solved. There's nothing more for Contour to do here. |
Observability | Additional HTTPProxy Status information | October 2020 | ||
Security | Authentication support for services backed by Contour | October 2020 | ||
Extensibility | Expose more Envoy configuration knobs | December 2020 | ||
Infrastructure | xDS v3 upgrade | December 2020 (must be done by EOY 2020) | ||
Deployment | Contour Helm Chart | December 2020 | ||
Operational | Contour Operator Alpha | December 2020 |