Published in
3 min readOct 3, 2022
The KrakenD team is pleased to announce the release of KrakenD 2.1. You can get it packaged from the download page.
KrakenD 2.1 brings a new ready-to-use Kibana dashboard, an updated Grafana Dashboard for InfluxDB v2 and more features and bugfixes described below:
New features:
- Added a
krakend version
command that outputs the KrakenD, Go, and Glibc versions. - Added
allow_insecure_connections
flag to ease development stages that use self-signed certificates. - Easier logging to disk or remote server logging via the configurable syslog facility
- Customizable response body for 404 and 405 errors
- Added context propagation between Handler plugins and KrakenD Client plugins (router gin 1.8.1)
- Added
capacity
andclient_capacity
(token bucket size) to router rate limit, previously only on backend rate limit. - We have created a new git repository Telemetry Dashboards that includes:
- A new Kibana dashboard
- A Grafana dashboard for Influx v2, using Flux queries and its datasource files.
- Logstash ingestion configurations
- Influx v2 automatic Auth creation
Relevant fixes:
- Logging consistency (Bot detector, Bloom filter, Gologging)
- Better control of errors when GELF is failing
- Influx client not initialized during startup randomly (namespace collision being the cause)
- The
check-plugin
command could panic when analyzing malformed files.
Youtube channel!
We have started to create video content on our KrakenD API Gateway channel on youtube, subscribe!
Changelog
List of all changes in KrakenD Community Edition and its krakend packages in use between v2.0.6 and v2.1.0
Changes in KrakenD-CE
- colons should be allowed in the error body
- Upgrade alpine version. Go mod tidy.
- Add labeler bot
- remove colliding alias
- Be able to configure through the router extra config the NoRoute and NoMethod handlers to return a custom json as body.
- Log the start of the improved logging only if no errors are present.
- Set the gelfWriter to nil if there’s an error in gelf since if you return an interface that have an underlying pointer it’s never nil.
- Gologging should not log an error if the configuration is not present. Log the succesful start of the component.
- Add rsyslog and logrotate configuration files and as depencencies of the deb and rpm packages.
- Systemd: remove invalid reload command and add a graceful shutdown
Changes in krakend-botdetector
- Avoid aborting with an error. Pass the logger and log the error like in the mux implementation.
Changes in krakend-cobra
- Skip line if it’s empty to avoid panic.
- Update descriptions of commands
- Dump Go and Glib versions also.
- Remove unused versionFunc args
- Add a command that shows only the KrakenD version number
Changes in krakend-gologging
- Add syslog severity from the level
- Add the syslog facility instead of using the default (KERN). Add a FormatterSelector for syslog with custom format. Default facility set to LOCAL3
Changes in krakend-influx
- logs normalized
- Consistent log prefix across executor and components
Changes in krakend-ratelimit
- fix regression if no capacity is defined
- capacity added to the router and service config levels
Tags: open sourcerelease notes