The agents and the Kong-branded orchestrator UI of the agentic travel demo on the Kong AI Gateway.
One image runs all five roles; the role is chosen with the ROLE environment variable. Every call a role makes - A2A to another agent, MCP tools, the LLM -
goes through the Kong AI Gateway (KONG_URL), authenticated with OIDC.
The demo environment that wires everything up (gateway configuration, Keycloak realm, catalog, dashboards, cost management) lives in
Kong/se-tools under demo-environment (ENABLE_AGENTIC, 9-scripts/agentic).
UI ──A2A──▶ Kong ──▶ Orchestrator ──A2A──▶ Kong ──▶ Flights / Stay / Weather agent
│ │
└──LLM──▶ Kong ──▶ OpenAI └──MCP──▶ Kong ──▶ flights / accommodations / weather MCP servers
ROLE | Port | What it is |
|---|---|---|
ui | 8090 | Orchestrator UI (login via OIDC, animated trace view, Konnect Analytics enrichment) |
orchestrator | 10010 | A2A agent that plans a trip with the three sub-agents |
flights | 10011 | A2A agent using the flight-booking MCP server |
stay | 10012 | A2A agent using the accommodations MCP server |
weather | 10013 | A2A agent using the weather MCP server |
| Variable | Default | Used by | Meaning |
|---|---|---|---|
ROLE | orchestrator | all | which role to run |
PORT | role default (table above) | all | listen port |
KONG_URL | http://kong-konnect-ai-gateway:8600 | all | the Kong AI Gateway proxy every call goes through |
OIDC_ISSUER | https://sso.apim.eu/realms/agentic | all | Keycloak realm |
OIDC_CLIENT_ID, OIDC_CLIENT_SECRET | - | all | OIDC client of this role (agentic-<role>); the UI uses it for the login (auth code + PKCE) |
LLM_MODEL | agentic-llm | agents | gateway-side model alias |
DEMO_TODAY | 2026-08-28 | agents | the date the agents treat as "today" (the mock data covers September 2026) |
UI_EVENTS_URL | http://agentic-ui.agents:8090/api/events | agents | where agents report trace events (telemetry, the one connection that does not pass through Kong) |
PUBLIC_AGENT_URL | http://localhost:8600/agentic/a2a/<role> | agents | URL advertised in the A2A agent card |
AGENTIC_UI_URL | http://localhost:8922 | ui | public URL of the UI (OIDC redirect) |
KONNECT_TOKEN, KONNECT_REGION, KONNECT_AI_GATEWAY_ID | - / eu / - | ui | enables the Konnect Analytics records in the trace view |
Demo traffic: docker exec -e AGENTIC_SEED_CLIENT_SECRET -e AGENTIC_USER_PASSWORD <ui container> python -m app.seed [trips-per-user] [parallel].
./build.sh # local image svenwal/kong-agentic-travel-demo:<newest version of CHANGELOG.md> and :latest
./build.sh 1.0.0 --push # multi-arch (linux/amd64 + linux/arm64) build and push to Docker Hub
Pushing a git tag (e.g. 1.0.0) builds and pushes the multi-arch image through GitHub Actions (secrets DOCKERHUB_USERNAME and DOCKERHUB_TOKEN).
Content type
Image
Digest
sha256:6f608147a…
Size
80.1 MB
Last updated
about 19 hours ago
docker pull svenwal/kong-agentic-travel-demo