Kuma Counter Demo is a sample application that demonstrates the capabilities of the Kuma service mesh.
The demo addresses the need to understand how Kuma operates in practice by providing a concrete, runnable example. It consists of two services: a demo-app that presents a web interface for incrementing a counter, and a kv service that simulates a database backend. The demo-app listens on port 5050 and communicates with the kv service through the mesh, allowing developers to observe service-to-service communication, routing, and other mesh features in action.
This application is intended for developers evaluating Kuma or learning how to use it. It works on both Kubernetes and VM environments and can be deployed using the getting-started guide in the Kuma documentation or through skaffold on an existing Kubernetes cluster. The demo includes multiple overlays for different deployment scenarios, allowing users to explore specific features incrementally. The application supports configuration through environment variables like KV_URL for service discovery and APP_VERSION for testing traffic routing across different service versions. It also includes built-in capabilities for testing mesh behavior: response delays can be injected via the x-set-response-delay-ms header, status codes can be enforced with x-set-response-status-code, and random failures can be simulated using the x-failure-percentage header for fault injection testing.
The project maintains a straightforward structure focused on demonstrating core mesh patterns. Development activity shows consistent attention to documentation and ease of deployment, with clear instructions for running the demo and debugging tools recommended for troubleshooting. The codebase includes multiple configuration overlays that enable progressive exploration of Kuma features without requiring users to modify core application code.