Skip to content

axonops/axonops-workbench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AxonOps Workbench Icon

AxonOps Workbench

Purpose-Built Database Management Desktop App for Apache Cassandra®

License GitHub Issues GitHub Discussions Platform

🚀 Download | 📚 Documentation | 💬 Discussions | 🐛 Issues

🚀 Overview

AxonOps Workbench is a powerful, free, and open-source desktop application designed specifically for Cassandra developers and DBAs. Experience a revolutionary way to work with your distributed databases through an intuitive interface packed with advanced features.

🎁 100% Free & Open Source

No hidden costs • No premium tiers • No license keys

Community-driven development with full transparency

🔗 Supported Databases

✨ Why AxonOps Workbench?

  • 🎯 Cassandra-Native Design - Engineered specifically for Cassandra's unique architecture and workflows
  • 🛠️ Developer-Friendly - Intuitive interface with powerful productivity features
  • 🔒 Secure by Design - Built-in SSH tunneling and credential management
  • 🤖 AI-Powered - Experimental AI assistant to help with queries and troubleshooting
  • 🏃 Local Development - Spin up local Cassandra clusters with one click
  • 📊 Advanced Analytics - Deep query tracing and performance insights
  • 🌍 Cross-Platform - Available for macOS, Windows, and Linux

⚡ Quick Start

  1. Download & Install - Get AxonOps Workbench from axonops.com/workbench/download
  2. Set up Docker/Podman - Required for running local clusters only
  3. Create a Workspace - Organize your clusters and connections
  4. Connect to Cassandra - Support for Apache Cassandra, DataStax Enterprise, and Astra DB
  5. Start Exploring - Use the CQL console, query tracing, and AI assistant

🎯 Key Features at a Glance

Feature Description
🖥️ CQL Console Advanced editor with syntax highlighting, auto-completion
🤖 AI Assistant (Experimental) Get intelligent help with query optimization and troubleshooting
🔍 Query Tracing Deep performance analysis with execution plans and bottleneck detection
🏃 Local Clusters Spin up Cassandra clusters instantly with Docker/Podman integration
🔒 SSH Tunneling Secure remote connections without external tools
📁 Workspaces Organize and share cluster configurations via source control
🌍 Multi-Language Available in English, Spanish, French, Arabic, Chinese, and more
⌨️ Command Line Interface Powerful CLI for automation and launching CQLSH on the command line using workspace connections

📥 Download and Install

🎯 Recommended Installation

You can download a specific release from project releases, for the best experience we recommend downloading stable releases of AxonOps Workbench directly from our website:

⬇️ Download

Available for macOS, Windows, and Linux

🍺 Homebrew (macOS)

For macOS users, you can also install AxonOps Workbench using Homebrew:

# Optional: set applications directory to your $HOME
export HOMEBREW_CASK_OPTS="--appdir=~/Applications"
brew tap axonops/homebrew-repository
brew install --cask axonopsworkbench

If you'd like to use a beta release use instead

brew install --cask axonopsworkbench-beta

and for the daily internal builds (used for testing and development purposes) use

brew install --cask axonopsworkbench-internal

🐳 Docker or Podman Requirements for running Local Clusters

To run local Cassandra clusters using AxonOps Workbench, you'll need either Docker or Podman installed with the Compose plugin. Recent versions of both include Compose by default.

Setup Instructions

  1. Install Docker Desktop or Podman
  2. Ensure the Compose plugin is available
  3. AxonOps Workbench will automatically detect installations in standard paths
  4. For custom installations, configure paths in application settings
Docker Settings

🎨 Features Showcase

📝 Enhanced CQL Console

Experience the most advanced CQL editor with syntax highlighting, auto-completion, query history, and multi-tab support.

Enhanced_CQL_Console

🔍 Advanced Query Tracing

Deep dive into query performance with detailed tracing, execution plans, and bottleneck identification.

Advanced_query_tracing

🤖 AI Assistant (Experimental)

Get intelligent query suggestions, performance optimization tips, and troubleshooting help powered by AI.

AI_Expert_Assistant

📁 Workspace Management

Organize your clusters into workspaces and securely share configurations through source control.

Screenshot 2024-08-23 at 10 07 50

🏃 Local Cluster Management

Spin up local Cassandra clusters instantly for development and testing with just one click.

Screenshot 2024-08-23 at 10 13 16

🔒 Built-in SSH Tunneling

Connect securely to remote clusters through SSH tunnels without external tools or complex configurations.

Screenshot 2024-08-23 at 07 50 46

⌨️ Command Line Interface

Automate your workflow with powerful CLI commands for workspace and connection management, perfect for CI/CD pipelines and server environments.

📚 View Complete CLI Documentation

🚀 Additional Features

  • 🔐 Secure Credential Management - Store and manage connection credentials securely in your system keychain
  • 📊 Schema Visualization (Coming Soon) - Visual representation of keyspaces, tables, and relationships
  • 🎯 Smart Auto-completion - Context-aware CQL suggestions and table/column name completion
  • 📝 Query History - Access and search through your previously executed queries
  • 🔄 Import/Export - Export query results to CSV, JSON, or other formats
  • 🌐 Multi-cluster Support - Connect to multiple clusters simultaneously with easy switching
  • 🌍 Internationalization - Available in multiple languages including English, Spanish, French, Arabic, Chinese, and more
  • ⚡ Performance Metrics (Coming Soon for AxonOps-managed clusters) - Real-time cluster health and performance monitoring
  • 🔧 Table Operations - Visual tools for creating, altering, and managing tables
  • 📁 Data Import/Export - Bulk data operations with progress tracking
  • 🔍 Full-text Search - Search across your entire cluster metadata

📋 Software Bill of Materials (SBOM)

This project provides Software Bill of Materials (SBOM) files with each release, offering transparency into our software components and dependencies. SBOMs help users and organizations understand exactly what components are included in our software, enabling better security and compliance management.

Available SBOM Formats

  • CycloneDX (sbom.cyclonedx.json): A lightweight SBOM standard that provides detailed component information and security context
  • SPDX (sbom.spdx.json): A comprehensive format focusing on software licensing and component identification

Benefits of Our SBOM

  • 🛡️ Security: Easily identify and track known vulnerabilities in dependencies
  • 📜 Compliance: Verify license obligations for all included components
  • 🔍 Transparency: Clear visibility into the software supply chain
  • Risk Management: Better understand and assess potential risks in the software stack

You can find our SBOM files in each release as part of the release artifacts. These files are automatically generated during our build process to ensure they remain current with each release.

Using SBOM Files

  1. Download the SBOM file in your preferred format from the release assets
  2. Use SBOM analysis tools:
    • cyclonedx-cli for CycloneDX files
    • spdx-tools for SPDX files
  3. Integrate with your security and compliance workflows
  4. Monitor for vulnerabilities in included components

We maintain these SBOM files as part of our commitment to software supply chain security and transparency. They are updated with each release to reflect the current state of our software dependencies.

🛠️ Development

Want to contribute or run AxonOps Workbench in development mode? Follow these instructions:

📋 Requirements

  • Node.js >= 20.15.0
  • npm >= 10.7.0
  • Python >= 3.12

🚀 Installation & Running

  1. Clone this repository

    git clone https://github.com/axonops/axonops-workbench.git
    cd axonops-workbench
  2. Install Python dependencies

    pip3 install -r requirements.txt
  3. Install required tools (downloads CQLSH binaries from axonops-workbench-cqlsh)

    ./tools/install_tools.sh
  4. Install Node.js dependencies

    npm i
  5. Run in development mode

    npm start

🧪 Testing

AxonOps Workbench includes a comprehensive test suite. See our Testing Guide for detailed information on:

  • Running unit tests
  • Writing new tests
  • Test architecture and best practices
  • Continuous integration setup

Quick test commands:

# Run all tests
npm test

# Run tests with coverage report
npm run test:coverage

# Run tests in watch mode (for development)
npm run test:watch

🤝 Contributing

We welcome contributions from the community! Please read our Contributing Guide before submitting pull requests. The guide covers:

  • Code of conduct and community guidelines
  • Development workflow and branching strategy
  • Coding standards and best practices
  • How to submit bug reports and feature requests
  • Pull request process and review guidelines
  • License agreements and legal requirements

Key points for contributors:

  • Fork the repository and create feature branches from main
  • Follow the existing code style and conventions
  • Write tests for new features and bug fixes
  • Update documentation as needed
  • Sign our Contributor License Agreement (CLA) by following the bot instructions on your first PR
  • All contributors must sign the CLA before their PRs can be merged

🐛 Debugging

  • Set AXONOPS_DEV_TOOLS=true environment variable to open developer tools on startup
  • In VSCode, use the Main + Renderer compound launch configuration to debug both processes simultaneously

📦 Packaging

If you'd like to create your own distribution package, you will need to install electron-builder and then run the following:

# builds linux deb, rpm and tar.gz
npm run linux
# OSX dmg and zip
npm run mac
# windows
npm run win

See the packages.json for other build options.

🧹 Cleaning Up Between Development Builds

Development builds may not be backwards compatible. Clean up as follows:

🐧 Linux and macOS:

  1. Delete folders with prefix .axonops- in the home folder
  2. Remove all keys with prefix AxonOps from the OS Keychain

🪟 Windows:

  1. Delete the folder with prefix axonops- in C:\Users\{username}
  2. Delete the folder with prefix AxonOps in C:\Users\{username}\AppData\Roaming or %appData%
  3. Remove all credentials with prefix AxonOps from Windows Credential Manager
  4. In Registry Editor, navigate to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\AxonOpsWorkbenchClustersSecrets (or AxonOpsDeveloperWorkbenchClustersSecrets) and delete the entire key/folder

🙏 Acknowledgements

AxonOps Workbench builds upon the foundation laid by several open-source projects, particularly Apache Cassandra. We extend our sincere gratitude to the Apache Cassandra community for their outstanding work and contributions to the field of distributed databases.

Apache Cassandra is a free and open-source, distributed, wide-column store, NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure.

Apache Cassandra Resources

AxonOps Workbench incorporates and extends functionality from various Cassandra tools and utilities, enhancing them to provide a seamless desktop experience for Cassandra DB developers and DBAs.

We encourage users to explore and contribute to the main Apache Cassandra project, as well as to provide feedback and suggestions for AxonOps Workbench through our GitHub discussions and issues pages.

💬 Community & Support

Get Involved

  • 💡 Share Ideas: Visit our GitHub Discussions to propose new features
  • 🐛 Report Issues: Found a bug? Open an issue
  • 🤝 Contribute: We welcome pull requests! See CONTRIBUTING.md for guidelines
  • Star Us: If you find AxonOps Workbench useful, please star our repository!

Stay Connected

  • 🌐 Website: axonops.com
  • 📧 Contact: Visit our website for support options

📊 Download Statistics

We track download statistics from this Github project for all AxonOps Workbench releases to better understand usage patterns and platform adoption. These reports are automatically generated weekly via the Github public APIs and provide insights into:

  • Total Downloads: Overall download counts across all releases
  • Platform Distribution: Downloads broken down by Windows, macOS, and Linux
  • Release Adoption: How quickly new releases are being adopted
  • Latest Release Performance: Detailed statistics for the most recent release

📈 View Reports

These reports help us:

  • Understand which platforms need more focus
  • Track the success of new releases
  • Make data-driven decisions about feature development
  • Ensure we're meeting our community's needs

📄 Legal Notices

This project may contain trademarks or logos for projects, products, or services. Any use of third-party trademarks or logos are subject to those third-party's policies.

  • AxonOps is a registered trademark of AxonOps Limited.
  • Apache, Apache Cassandra, Cassandra, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries.
  • DataStax is a registered trademark of DataStax, Inc. and its subsidiaries in the United States and/or other countries.
  • Elasticsearch is a trademark of Elasticsearch B.V., registered in the U.S. and in other countries.
  • Docker is a trademark or registered trademark of Docker, Inc. in the United States and/or other countries.