Skip to content

Supported and Planned Features

The table below contains the current state of the Kusk Gateway features.

Features marked with the ✅ are implemented, not marked are planned to be implemented.

For the features currently on the roadmap please see Kusk-gateway milestones.

Categories

Feature/Description with the implementation status

Comments

Basic routing

Configure the routing by:

  • host ✅

  • exact path ✅

  • path with a regexp ✅

  • path with a prefix ✅

Basic routing with OpenAPI

Configure the basic routing with OpenAPI + x-kusk extension ✅

HTTP redirect

HTTP redirect support, with dynamic path rewrites ✅

Direct HTTP response

Respond with HTTP code without sending to the upstream

HTTP path manipulation

  • Prepend and strip HTTP path prefix for the OpenAPI paths ✅
  • Rewrite paths when sending to the upstream (backend) ✅

HTTP sticky sessions

Binding the client session to the same upstream host by IP address

HTTP headers manipulation

Inserting/removing headers when communicating with the upstream

HTTP Compression

Gzip/Bzip/Brotli headers/body compression

TLS

  • Static (externally deployed) certificates ✅
  • LetsEncrypt (ACME) dynamically configured certificates

CORS

CORS support ✅

Websockets

Websockets support ✅

Quality of the service

  • Retries on 50x code ✅

  • Request timeouts, idle timeouts ✅

  • Rate limiting

  • Cirquit breaker

Advanced routing

  • Traffic mirroring (sending the requests both to the actual upstream and mirror to some other sink, e.g. staging)

  • Traffic splitting (sending to 2 or more services at the same time)

Validation

Validation of requests and responses using OpenAPI definition

Partially: the validation of requests are in alpha mode

Mocking

Mocking endpoints using OpenAPI definition

Visibility: Dashboard

User friendly management portal

Visibility: Logging

Ability to collect, aggregate and analyze access and gateway logs

Partially: enabled stdout access logging that can be used by third party tools like Fluentd.

Visibility: Tracing

Ability to trigger requests tracing

Visibility: Metrics

Ability to collect and analyze traffic and gateway metrics

Partially: basic HTTP requests Prometheus metrics could be collected from Envoy

Authentication

Authentication schemes support with OpenAPI security and separately in StaticRoute