Iter8 provides a metrics store for A/B/n and performance metrics. This simplifies the set up and execution of test scenarios. Iter8 currently supports the following databases:
By default, Iter8 uses BadgerDB. Note, however, that BadgerDB is not suitable for production use and is only suitable for a single instance of Iter8. Support for other databases is in the works. See below for details on how you can contribute additional implementations.
BadgerDB configuration options¶
BadgerDB is a file system-based database. When installing Iter8, the following options can be configured:
bagderdb.storage- The amount of space allocated to BadgerDB (default 50Mi).
badgerdb.storageClassName- The Kubernetes storage class that should be used. The default (
standard) may not work for all clusters.
Redis configuration options¶
We assume that Redis is deployed. For example, for a basic deployment:
kubectl create deploy redis --image=redis/redis-stack:latest --port=6379
kubectl expose deploy redis --port=6379
Run Iter8 with the metrics store implementation set to
redis and specify its endpoint:
helm upgrade --install --repo https://iter8-tools.github.io/iter8 --version 1.1 iter8 controller \
--set clusterScoped=true \
--set metrics.implementation=redis \
Contribute a new metrics store implementation¶
To contribute a new metrics store implementation:
Create an issue for discussion.
Submit a pull request on the Iter8 project with the following updates:
Add a new case to metrics.GetClient()
Please also consider including your information in our list of adopters.
Submit a second pull request on the Iter8 docs project updating the list of available implementations.
Alert the project reviewers on Slack