v1.1.0
Summary
The Kusk team is proud to announce the v1.1.0 release of Kusk Gateway, which adds Header Based Authentication, Rate limiting, Caching, Post-processed OpenAPI definitions (that is with the potentially sensitive x-kusk settings stripped out).
What's New?
Since the last beta release we have been focusing on making the core of Kusk Gateway production ready - but have also managed to squeeze in some new functionality.
Header Based Authentication
Through x-kusk extensions you can now specify a service or host to validate authentication headers. This can be used for any headers based authentication, including common authentication schemes like basic authentication and API key headers.
x-kusk:
auth:
scheme: basic
path_prefix: /login # optional
auth-upstream:
host:
hostname: example.com
port: 80
Read more about Header based authentication
Rate Limiting
Kusk Gateway makes it easy to apply rate limiting policies to your API. These can be specified globally or at the path or operation level.
x-kusk:
rate_limit:
requests_per_unit: 2
unit: minute
...
Read more about rate limiting extensions.
Caching
Caches are one way to reduce latency and network traffic, as the response is directly returned from the gateway. Kusk Gateway can implement all the complexity of an HTTP cache with a simple annotation in your OpenAPI spec. These policies can be applied at the global, path, or operation levels.
x-kusk:
cache:
enabled: true
max_age: 60
...
Read more about caching extensions.
Improved Mocking
Kusk Gateway now handles mocking natively in Envoy. This removes the need to install the separate agent process which used to run alongside the manager to handle serving mocked responses.
Upgradability
You can now upgrade your Kusk Gateway distribution directly from the Kusk CLI.
kusk upgrade
Grab the latest version of the Kusk CLI here
Changelog
- c0acfd4 Refactor Mocking without the agent process (#438)
- c13a966 added namespaces to kusk-gateway-envoyfleet-manager-role (#443)
- c8074cb adding mocked 'postprocessed' apidef (#468)
- fafd974 check for presence of ANALYTICS ENABLED env var. if empty assume enabled by default (#481)
- c762915 e2e tests/smoketests: Add Caching smoketests (#482)
- fb3a501 e2e tests/smoketests: Add rate limiting smoketests - Closes #471
- fd95fe4 fix autodeploy extension link (#463)
- 960daa7 fix cache bug (#447)
- 806a966 fix extension link (#465)
- fce2b15 fix up extension header style (#458)
- 4f40f24 fix: docs/Dockerfile to reduce vulnerabilities (#457)
- e994778 minor fix for the docker image (#441)
- 1105e0f reverted to GA4 (#413)
- bab3c9b reverted to segmentio (#479)
- 85c3cca updates to running smoke tests (#480)