Skip to content

Releases: projectcontour/contour

Contour v0.3.0

18 Jan 06:05
Compare
Choose a tag to compare

Heptio is pleased to announce the release of Contour 0.3.

New and improved

The headline features of this release are:

TLS support

Contour now supports HTTP and HTTPS ingress. Contour TLS support works with the standard ingress object. You can read more about Contour's TLS support here.

More supported annotations

Support is added for the following annotations on the service and ingress objects:

  • kubernetes.io/ingress.allow-http: "false" removes the ingress configration from the non TLS listener. Envoy does not serve traffic for your ingress's vhost on port 80.
  • ingress.kubernetes.io/force-ssl-redirect: "true" causes Envoy to issue an unconditional 301 redirect to the HTTPS version of your site.

gRPC API is now GA

Support for Envoy's version 2 gRPC based API, introduced in Contour 0.2, is now marked GA. The REST API does not support new Envoy features such as SNI. Support for the REST API is deprecated and will be removed in Contour 0.4.

Other improvements in this release

  • Contour no longer sends updates to Envoy periodically. Changes in the Kubernetes API are streamed to Envoy as they occur. In a steady state, no traffic flows from Contour to Envoy.
  • The address and port for Envoy's HTTP and HTTPS listeners are now configurable. This will be useful for anyone using a Daemonset with host networking. This can also be used to force Envoy to bind to IPv6.
  • Contour now supports the PROXY protocol to recover the remote IP of connections via an ELB in TCP mode. To enable this, add the --use-proxy-protocol flag to the flags for your contour Deployment or Daemonset.
  • Update to client-go release 6.

Bug fixes (compared to Contour 0.2.1)

  • The glog library is now properly initalised on contour serve startup. Fixes #113. Thanks @willmadison

Upgrading

Contour 0.3 makes the YAML v2 bootstrap configuration format the default. In Contour 0.4 the JSON v1 bootstrap configuration option will be removed. Consult the upgrade notes for how to update your Deployment or Daemonset manifests to the YAML bootstrap configuration format.

Contour v0.2.1

12 Jan 05:10
9de7c0c
Compare
Choose a tag to compare

Contour 0.2.1 is a bug fix release for the gRPC support added in Contour 0.2.

This release contains a single change to the schema of v2 bootstrap configuration and gRPC LDS response messages to match a recent change in Envoy.

If you are not using the v2 configuration mode or gRPC you do not need to upgrade.

Bugs fixed

  • Contour generates an out of date configuration in v2 configuration mode. Fixes #136

Contour v0.2.0

28 Nov 00:30
Compare
Choose a tag to compare

Heptio is pleased to announce the release of Contour 0.2.0.

New and Improved

Contour 0.2.0 features support for Envoy's gRPC management server API.

gRPC API support

Contour 0.2.0 adds beta support for Envoy's gRPC based managment server API.
The gRPC API enables streaming of configuration information from Contour to Envoy, removing the need for polling, and reducing the latency between a configuration changes in the Kubernetes API server and the change becoming visible to Envoy.

gRPC support is evolving rapidly and is expected to become the default management server protocol in the 0.3 to 0.4 timeframe.

Upgrading

For Contour 0.2.0 the original REST API remains the default, however if you wish to experiment with gRPC a [sample deployment][2] is provided.
The key change is the name of the configuration file generated during pod initalization.
Specifically, the switch from

contour bootstrap /config/config.json

To

contour bootstrap /config/config.yaml

In your deployment or daemonset's initContainer stanza with a matching update to the -c flag passed to the envoy container will switch from REST to gRPC.

For further details, consult the deployment-grpc-v2 example.

Bug fixes

  • Contour now truncates long cluster names to Envoy's default limit of 60 characters. Fixes #25
  • Quickstart links are now provided over https. Fixes #23

Contour v0.1.0

22 Nov 17:59
Compare
Choose a tag to compare

Introducing Contour

Contour is an Ingress controller for Kubernetes that works by deploying the Envoy proxy as a reverse proxy and load balancer. Unlike other Ingress controllers, Contour supports dynamic configuration updates out of the box while maintaining a lightweight profile.

This is an early release so that we can start sharing with the community. Check out the roadmap to see where we plan to go with the project.

And see the launch blog post for our vision of how Contour fits into the larger Kubernetes ecosystem.