Conduit v0.3.0 released 🎊

Kevin Lingerfelt <k...@...>

Conduit community members,

We're happy to welcome the Conduit v0.3.0 release into the world.

Conduit 0.3 focused heavily on production hardening of Conduit's telemetry system. It should "just work" for most apps on Kubernetes 1.8 or 1.9 without configuration, and should support Kubernetes clusters with hundreds of services, thousands of instances, and hundreds of RPS per instance.

With this release, Conduit also moves from experimental to alpha---meaning that we're ready for some serious testing and vetting from you. As part of this, we've published the Conduit roadmap, and we've also launched some new mailing lists: conduit-users, conduit-dev, and conduit-announce.

Please give the new release a try, and send feedback to the mailing lists above. If you encounter any issues, report them on GitHub.

Happy proxying,

Full list of changes

  • CLI commands no longer depend on kubectl
  • conduit dashboard now runs on an ephemeral port, removing port 8001 conflicts
  • conduit inject now skips pods with hostNetwork=true
  • CLI commands now have friendlier error messages, and support a --verbose flag for debugging
Web UI
  • All displayed metrics are now instantaneous snapshots rather than aggregated over 10 minutes
  • The sidebar can now be collapsed
  • UX refinements and bug fixes
Conduit proxy (data plane)
  • Proxy does load-aware (P2C + least-loaded) L7 balancing for HTTP
  • Proxy can now route to external DNS names
  • Proxy now properly sheds load in some pathological cases when it cannot route
Telemetry system
  • Many optimizations and refinements to support scale goals
  • Per-path and per-pod metrics have been removed temporarily to improve scalability and stability; they will be reintroduced in Conduit 0.4 (#405)
Build improvements
  • The Conduit docker images are now much smaller.
  • Dockerfiles have been changed to leverage caching, improving build times substantially
Known Issues
  • Some DNS lookups to external domains fail (#62, #155, #392)
  • Applications that use WebSockets, HTTP tunneling/proxying, or protocols such as MySQL and SMTP, require additional configuration (#339)