Releases: projectcontour/contour
Contour v0.3.0
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 yourcontour
Deployment or Daemonset. - Update to client-go release 6.
Bug fixes (compared to Contour 0.2.1)
- The
glog
library is now properly initalised oncontour 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
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
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 v0.1.0
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.