What’s new in Contour 1.17.0?

Published 09.07.2021

Categories Changelog

Tags CNCF, Contour

Contour 1.17.0 is out with a layer seven HTTP reverse proxy for Kubernetes clusters. The new version has arrived with many new features and several fixes, which will make the functioning of the ingress controller smoother. More activities within the community came along with the release of this version. So, we will have a look at all of this. Let’s get going.

Tech Writing Working Group

As earlier told, a significant change came to the community with this new release. It is seen vividly with the announcement of introducing the tech writing working group in the Contour community. Because of this, specific documentation proposals and fixes comes as contributions. We can see a few changes, such as fixing of error by flagging an expected argument with –kubernetes-debug command.

Ignoring Irrelevant Endpoints Updates

As reported earlier here, previously to this release, we can see endpoint changes for services not related to Contour would cause a no-op configuration push to Envoy. Because of this, we find a lot of churns in busy clusters. Now, we have fixed this issue. For more information, click here.

GATEWAY API

Reconciling Gateways

In the Gateway API, Gateways refer to a GatewayClass, and controllers decide which Gateways to reconcile. They did it by determining for which GatewayClass(es) they are responsible. It is specified using the spec.controller field in the GatewayClass. We now expect that controllers look for a specific value in that field and only reconcile Gateways that reference GatewayClasses that match.

In this release, Contour has changed the method by which it selects which Gateway to reconcile. It now follows the spec for looking up a GatewayClass and finding the first created Gateway in that GatewayClass to be the Gateway it will watch for config when using the Gateway API. We can now accomplish this by specifying the value to look for inside the GatewayClass spec.controller field using the controllerName area inside the gateway stanza in the config file. It means that the name and namespace parameters in the gateway stanza inside the Contour config file are now deprecated.

Support for TLS Route Termination Mode

Contour now supports the Gateway API TLSRoute object’s terminate mode, which terminates TLS at the Gateway. For more information and description on this topic, click here.

Testing Changes

With the new release, we can see an improved testing framework and CI infrastructure. As well as several other changes, the CI now runs Contour out-of-cluster to enable testing multiple configurations. It will now allow Contour to experiment with more combinations of config and objects and increase the overall test coverage.

Now, tests will use Contour running locally. Again, we can check for nil conditions in an HTTP request. We can see Controller Runtime test suite improvements with this update. Also, we can see updates of test scripts README for the new e2e format. We can now fix codespell errors. Also, now we can use up to date go in e2e/upgrade CI jobs and install Gateway API CRDs from examples/gateway.

Deprecations

Config file: Gateway.Name and Gateway.Namespace

As described in the “Reconciling Gateways” section, the config file parameters Gateway.Name & Gateway.Namespace is deprecated.

Config file: make gencerts

Contour currently has a make gencerts available in the local Makefile for creating certificates for securing Contour to Envoy traffic. The contour certgen command now superseded, which can output to local files in various formats or directly to Kubernetes Secrets. This part of the Makefile is therefore deprecated.

Other Changes

The new release comes with the fixing of Rendered Gateway Example. We now see bumping of gomega package to 1.13.0, golang to 1.16.5 and ginkgo to 1.16.4. Also, it will now help users with the bumping of protobuf and fix lint issues. Also, we find the fixing of references to kuard-dag.png. The pull deployment manifest can now unmarshal/update into the framework. Updating compatibility docs, releasing cutting notes, fixing label sync, updating labels, and adding new decision issue types comes with the latest release.

We also see several fixes on the site too. The new Contour release will now replace latest_release_tag_name with latest_version. It will also now use a single parameter for the latest version. Several fixups like fixing the upgrade guide, RateLimiting Guide, and some other links and improving the configuration page for Hugo’s move will now help users. Also, we will have the bulk replacement of Jekyll templates. We will now have fixing of links on deploy-options pages and to HTTP Proxy fundamentals for annotations page.

Learn More:

The new and improved Contour will now help more. You can also try it out by clicking here.

Join 100+ cloud native enthusiasts

and stay in the loop on modern software development.

Sign up to receive exclusive content around cloud native software development right into your inbox.

We don’t spam! Read our privacy policy for more info.

More stories from our blog

How To Install Docker on Ubuntu 20.04?

How To Install Docker on Ubuntu 20.04?

Docker is an open-source tool that makes managing application processes in containers much easier. Containers allow you to run your programmes in separate processes with their own resources. Containers are comparable to virtual machines, except they're more portable,...

Answer to Everything isn’t 42, it’s Family

Answer to Everything isn’t 42, it’s Family

We’re experiencing digitisation. An era where every person has a voice, and it doesn’t matter if he’s wise. There’s more motivation circulating the vast stretches of the internet than it’s required. This would be good in a theoretical world, but if you seek the truth,...

What’s new in Gitlab 14? 🦊

What’s new in Gitlab 14? 🦊

GitLab 14 is out and fans must be thrilled to know about all the new features along with all the fixes and removals. In this post, we will go through the many changes and improvements, bug fixes, and some remarkable deprecations. We will see all of that here. So,...

k8s vs k3s: The Comprehensive Difference

k8s vs k3s: The Comprehensive Difference

Kubernetes is undoubtedly a champion in the container orchestration world. But currently, we see that K3s or a lightweight Kubernetes distribution which is light, efficient and fast with a drastically small footprint levelling up. Businesses nowadays scratch their...

What’s new in Fluentbit v1.8.1?

What’s new in Fluentbit v1.8.1?

Fluentbit is a lightweight and fast data processor and forwarder for Linux, BSD and OSX. And, for Fluentbit fans, there is good news as they have released their new update with lots of new features and fixes. We will have a look at all of them below. New Metrics...

What’s new in Envoy v1.19.0?

What’s new in Envoy v1.19.0?

Envoyproxy introduced its new version, 1.19.0, recently, and it came with many changes and improvements from the previous ones. We can see more stability in this version, along with specific bug fixes. So, without waiting any further, let’s see what the new version...

What’s new in Vitess 10?

What’s new in Vitess 10?

Vitess 10 is released with many excellent features and also many bug fixes that were bothering the user base. We are going to see all the features and exciting announcements. So, Let's roll! Major Themes in Vitess In this release, we can see that Vitess Maintainers...

What’s new in Prometheus 2.28?

What’s new in Prometheus 2.28?

Prometheus 2.28 is out. If you don't know, Prometheus is an excellent open-source system monitoring and alerting toolkit. Let's have a look at those features and have a look at the changelog. Displaying Trace Examplers in the Graphic Interface From the previous...

GPT-J: GPT-3 Democratized

GPT-J: GPT-3 Democratized

GPT-J is the open source cousin of GPT-3 that everyone can use. The open source transformer is all about democratizing transformers and with 6b parameters it’s the largest transformer available. Read more here

What’s new in Portainer CE 2.6.0?

What’s new in Portainer CE 2.6.0?

Portainer fans will be very excited because a new version came out recently. We are going to see the changes that came in this release and also going to explore the features. We will also see the issues and bugs that got fixed to maintain stability and improve user...

Interested in what we do? Looking for help? Wanna talk about software strategy?