Prerequisites
Before you begin, ensure you have the following installed:- Docker (version 20.10 or later)
- Docker Compose (version 2.0 or later)
- Make (optional, for convenience commands)
The playground requires approximately 4GB of RAM and 10GB of disk space to run all services.
Installation
Start all services
- Build the web client container
- Pull all required Docker images
- Start the entire stack (KrakenD, observability, auth, backends)
The first startup may take 2-3 minutes as Docker downloads all images.
Access the Services
Once all services are running, you can access them at the following URLs:| Service | URL | Credentials |
|---|---|---|
| KrakenD API Gateway | http://localhost:8080 | - |
| Fake API Backend | http://localhost:8000 | - |
| Grafana (Metrics) | http://localhost:4000 | admin / admin |
| Jaeger (Tracing) | http://localhost:16686 | - |
| Kibana (Logs) | http://localhost:5601 | - |
| Web Client SPA | http://localhost:3000 | - |
| JWT Revoker | http://localhost:9000 | - |
| Keycloak (IdP) | http://localhost:8085 | admin / admin |
| RabbitMQ Management | http://localhost:15672 | guest / guest |
Your First API Call
Test the gateway with a simple request:Try More Examples
GitHub User Aggregation
Fetch and aggregate GitHub user data:- Calls GitHub API to get user profile
- Calls GitHub API to get user repositories
- Aggregates the data into a single response
- Filters and maps fields
GraphQL to REST
Transform a GraphQL query into a REST endpoint:JWT-Protected Endpoint
Try accessing a protected endpoint:Keycloak Users
The playground includes pre-configured test users:| Username | Password | Roles |
|---|---|---|
| moderator | moderator | moderator |
| reader | reader | reader |
View Observability Data
Grafana (Metrics)
- Open http://localhost:4000
- Login with
admin/admin - Navigate to Dashboards → KrakenD
- Request rate
- Response times
- Error rates
- Backend health
Jaeger (Tracing)
- Open http://localhost:16686
- Select krakend from the Service dropdown
- Click Find Traces
Kibana (Logs)
- Open http://localhost:5601
- Import the pre-configured dashboard:
Managing the Playground
View Logs
Follow logs from all services:Restart Services
Restart all services:Stop the Playground
Stop all services and remove volumes:Configuration Changes
The KrakenD configuration is located atconfig/krakend/krakend.json.
When you modify this file, KrakenD automatically reloads the configuration thanks to the :watch image.
Next Steps
Explore the Architecture
Understand how all services work together
Learn About Features
Explore API Gateway patterns and examples
Configure Endpoints
Customize KrakenD endpoint configuration
API Reference
Browse all available gateway endpoints