This third version of Kraken represents one more step towards a load testing solution suitable to teams and enterprises.
Kraken can already be installed on your own Kubernetes cluster thanks to Helm charts: You own all data and can handle the security inhouse.
But until now it was lacking users management, making it cumbersome to use it for a team of performance testers.
This point is now addressed in the version 3.0 thanks to Keycloak.
User Management With KeyCloak
KeyCloak is an Open Source Identity and Access Management solution.
Among the many features of Keycloak include :
- User Registration
- Social login
- Single Sign-On/Sign-Off across all applications belonging to the same Realm
- 2-factor authentication
- LDAP integration
- Kerberos broker
- multitenancy with per-realm customizeable skin
KeyCloak is deployed alongside Kraken backend to handle users registrations and login.
Keycloak Kraken Realm
Grafana and InfluxDB users are also created for each user registering to Kraken.
KeyCloak is configured to send events to the Kraken backend and stores metadata on each user.
Several Oauth clients are used in the KeyCloak Kraken realm to handle:
- The authentication flow from the two frontends Gatling and Administration with
- The backend security with
- The authentication from the started containers (used when executing tasks such as running a load test) with
In case you need to execute load tests from a CI environment, Kraken can be managed directly using the REST API.
The swagger documentation now lets you connect before making HTTP calls:
Kraken Tutorial Files
Be warned thought that it is a demonstration environment: there is no backup of the data, and it is erased periodically.
The administration application allows the Kraken platform administrator to manage the tasks configuration and available hosts to execute them.
This application has been improved to allow the administrator to easily add/remove Kubernetes nodes to the set of available hosts:
Kraken Admin K8s nodes
The Kraken administrator can also set the memory and cpu limits for task executions.
The list of available hosts for task execution has been improved to display the memory and CPU available on each corresponding node:
Kraken Kubernetes Host Selection
What’s Next? A Roadmap Overview
After some minor improvements and bug fixes with the 3.0.1, Kraken will evolve further towards and enterprise grade solution with:
- A Git integration for the versioning of load testing scripts,
- An architectural refactor to allow the High Availability of the platform,
User groups might also be implemented.
The usefulness of such a feature is still to be discussed as it will be possible to share Gatling simulation scripts through Git and Grafana already allows you to share load testing reports with other users.