-
Download the latest release from GitHub Releases
-
Set up two Scylla clusters - we'll call them ORACLE_CLUSTER (reference) and TEST_CLUSTER (system under test)
-
Run Gemini:
# Single node per cluster ./gemini --oracle-cluster=192.168.1.10 --test-cluster=192.168.1.20 # Multiple nodes (comma-separated IP addresses) ./gemini --oracle-cluster=192.168.1.10 --test-cluster=192.168.1.20,192.168.1.21,192.168.1.22
The
--oracle-clusterand--test-clusterflags accept IP addresses. For multi-node clusters, provide comma-separated addresses.
That's it! Gemini will generate a random schema and start running tests.
If you don't have an oracle cluster, you can run in test-only mode:
./gemini --test-cluster=192.168.1.20,192.168.1.21,192.168.1.22This runs mutations without validation - useful for stress testing.
docker run -it scylladb/gemini:latest \
--oracle-cluster=192.168.1.10 \
--test-cluster=192.168.1.20,192.168.1.21,192.168.1.22Run ./gemini --help to see all available options.
For detailed explanations, see CLI arguments documentation.
- Investigation Guide - How to debug failures
- Statement Logger - Capturing statements for analysis
- Architecture - Internal design for contributors