Scylla API Client is a command line utility implementing a thin client directly utilizing the Scylla REST API
pip install scylla-api-client
See scylla-api-client --help
for all options, below are some sample uses:
Show all API modules
$ scylla-api-client --list-modules
system
compaction_manager
gossiper
endpoint_snitch_info
storage_proxy
column_family
stream_manager
messaging_service
storage_service
cache_service
failure_detector
hinted_handoff
lsa
commitlog
collectd
error_injection
Show all API commands for specific module system
$ scylla-api-client --list-module-commands system
system/logger:
GET: Get all logger names
POST: Set all logger level
system/drop_sstable_caches:
POST: Drop in-memory caches for data which is in sstables
system/uptime_ms:
GET: Get system uptime, in milliseconds
system/logger/{name}:
GET: Get logger level
POST: Set logger level
Get loglevel for specific logger httpd
$ scylla-api-client system/logger/{name} GET --name httpd
"info"
Set loglevel level=debug for specific logger httpd
$ scylla-api-client system/logger/{name} POST --name httpd --level debug
pytest is used for writing and executing tests, to run tests you can execute:
pip install -r dev-requirements.txt
pytest -s -v tests/
Releases are automatically released via GitHub Actions when a new tag v**
is pushed to GitHub.
git tag v1.0 <some-commit-hash>
git push origin v1.0
Note: pushing a tag to GitHub requires maintainers/admin privileges.
Contributions are welcomed! please create a fork and open a pull request to submit your changes,
Contributing requires installation from source:
pip install -r dev-requirements.txt
python3 setup.py install --user
Once installed, scylla-api-client can be used by python3 -m scylla_api_client
Note: by installing from source, the package will be installed under $HOME/.local/bin
and depending on your OS
may require adding this folder to you $PATH ex. export PATH=$PATH:$HOME/.local/bin
.