Skip to content
This repository has been archived by the owner on Sep 15, 2022. It is now read-only.

Latest commit

 

History

History
162 lines (131 loc) · 6.55 KB

CHANGELOG.md

File metadata and controls

162 lines (131 loc) · 6.55 KB

Kedge & Winch Release Notes

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Types of changes: Added for new features. Changed for changes in existing functionality. Deprecated for soon-to-be removed features. Removed for now removed features. Fixed for any bug fixes. Security in case of vulnerabilities.

[Unreleased]

Added

  • kedge: Adhoc supports basic hostname rewrite.
  • kedge: gRPC adhoc!
  • winch: Allow Debug endpoints to be exposed on different port.

Fixed

  • winch: Fixed go routine leaks in gRPC path (client connection not closed)

0.1.0 - 2018-04-13

Added

  • winch: Early error check if user tries to connect to IP instead of hostname

Changed

  • kedge: Improved not-kedge-destination error message.

Fixed

  • kedge: More reliable even stream for k8sresolver.

Old Releases (format not applicable)

Kedge service:

  • Fixed critical bug(s) in k8sresolver

Tools:

  • Added standalone k8sresolver runner for debugging purposes.

Kedge service:

Winch (kedge client):

  • Added new OIDC-based auth method with service accounts.

Kedge service:

  • Kubernetes discovery now prepends service short name to route matcher instead of just service name.

Kedge service:

  • Fixed passing headers through gRPC proxies
  • Updated Docs!
  • Better error handling
  • Fixed not working gRPC authority matcher
  • Fixed and tested HostResolver
  • Added way to change metric endpoint route

Winch (kedge client):

  • Updated Docs!

Kedge service:

  • added OIDC support to gRPC flow

Winch (kedge client):

  • added gRPC support to winch

Kedge service:

  • added dynamic routing discovery for TLS routes (insecure)

Kedge service:

  • added stripping out proxy auth header after using it.
  • fixed error handling causing in particular cases.
  • added graceful shutdown

Winch (kedge client):

  • better error handling (adding response headers to indicate what error happen)
  • CORS

Tools:

  • added load tester.

Kedge service:

  • added reported helping to determine proxy errors from backend errors (producing log and inc metric)
  • added support winch debug mode
  • added support for request ID
  • fixed go routine leaks on discovery and k8sresolver streams
  • improved logging on discovery logic
  • fixed go routine leaks on lbtransport
  • dynamic discovery changes are less disruptive

Winch (kedge client):

  • added debug mode
  • added request ID

Kedge service:

  • added metrics for backend configuration change
  • added metrics for HTTP requests/response to middleware and from tripperware
  • updated go-httpares dep

Kedge service:

  • added support for K8S auto-discovery of service backends based off metadata (no need to actually specify routes manually!)
  • fixed retry backoff bug in lbtransport
  • added test log resolution
  • logging improvements

Winch (kedge client):

  • fixed handling of debug endpoints.

Kedge Service:

  • - fixed remote logging
  • - moved to glide as vendoring tool
  • - added support for specifying port for director routes
  • - added support for overwriting port on SRV lookup
  • - implemented fully equipped k8sresolver (basing on k8s endpoints API)
  • - updated OIDC library with patch
  • - improved debuggability, passed proper logger with corresponded tags everywhere
  • - removed Trial dialing in favor of better error handling

Winch (kedge client):

  • - various improvements for passing auth as well as addition for new auth types
  • - added port matching on winch
  • - various fixes for templating

Kedge Service:

  • - add support for specifying whitelist or required permissions in ID Token for OpenID provider.

Winch (kedge client):

  • - support more auth providers and kinds (bearertoken & gcp from kube/config)

Kedge Service:

  • - added optional remote logging to logstash

Initial release to start testing on real clusters.

Kedge Service:

  • - gRPC(S) backend definitions and backend pool - SRV discovery and RR LB
  • - gRPC(S) proxying based on routes (service, authority) to defined backends
  • - HTTP(S) backend definitions and backend pool - SRV disovery and RR LB
  • - HTTP(S) proxying based on routes (path, host) to defined backends
  • - integration tests for HTTP, gRPC proxying (backend and routing)
  • - TLS client-certificate verification based off CA chains
  • - support for Forward Proxying and Reverse Proxying in HTTP backends
  • - support for OpenID JWT token authentication on routes (claim matches) - useful for proxying to Kubernetes API Server

Winch (kedge client):

  • - HTTP forward Proxy to remote Kedges for a CLI applications (setting HTTP_PROXY).
  • - HTTP forward Proxy in daemon mode for browsers with an auto-gen PAC file.
  • - matching logic for "remap something.my_cluster.cluster.local to my_cluster.internalapi.example.com" for finding Kedges on the internet
  • - open ID connect login to get ID token / refresh token
  • - support for custom root CA for TLS with kedge