Skip to main content
KrakenD Community Edition is the central API Gateway in the playground. It receives client requests, applies transformations, aggregates data from multiple backends, and returns unified responses.

What KrakenD Does

In this playground, KrakenD demonstrates:
  • Data aggregation - Combining multiple backend calls into single responses
  • Request/response transformation - Filtering, mapping, and grouping data
  • Authentication - JWT token validation with Keycloak integration
  • Caching - Backend response caching based on cache headers
  • Rate limiting - Controlling request rates to protect backends
  • Telemetry - Exporting metrics, logs, and traces to observability services

Ports

KrakenD exposes multiple ports:
PortPurpose
8080Main API Gateway - all client requests
1234Admin API - health checks and bloomfilter RPC
8090Additional admin endpoint

Configuration

Configuration File

The gateway configuration is located at:
config/krakend/krakend.json
This file defines all endpoints, backends, transformations, and middleware. It includes descriptive @comment fields explaining each endpoint’s purpose.
The playground uses the :watch KrakenD image that automatically restarts when configuration files change. Do not use this image in production - it’s designed for development and testing.

Auto-Reload on Changes

When you edit krakend.json, the changes are applied automatically. No manual restart required.

Editing Endpoints

The easiest way to modify the configuration:
  1. Drag config/krakend/krakend.json into the KrakenD Designer
  2. Make your changes in the visual editor
  3. Download the edited file
  4. Replace config/krakend/krakend.json with the downloaded file
  5. Changes apply automatically

Example Endpoints

The playground includes various endpoint examples. See the endpoint documentation for a complete list of available endpoints and their features.

Flexible Configuration

The playground includes an example of flexible configuration with templates, variables, and logic.
You’ll find krakend-flexible-config.tmpl that demonstrates:
  • Code snippets and includes
  • Template variables
  • Iterations and conditions
  • Golang templating syntax
To see how KrakenD compiles the template into final configuration:
make compile-flexible-config

Dependencies

KrakenD depends on:
  • fake_api - Provides backend data on port 8000
  • jaeger - Receives distributed traces

Build docs developers (and LLMs) love