Quetty
A powerful terminal-based Azure Service Bus queue manager that provides an intuitive interface for viewing, managing, and interacting with message queues efficiently.
Table of Contents
- Overview
- Interface Preview
- Key Features
- Installation
- Development
- Documentation
- Roadmap
- Acknowledgments
- License
Overview
Quetty combines the power of Azure Service Bus with a sleek terminal interface, making queue management accessible and efficient. Whether you're debugging message flows, managing dead letter queues, or performing bulk operations, Quetty provides the tools you need in a fast, keyboard-driven environment.
๐ง Development Phase
Quetty is currently in Beta
We are actively developing and testing Quetty to ensure it meets production standards. During this phase, we're focusing on:
- โ Performance & UI Testing: Verifying optimal performance across different environments and platforms. | Tested on most common terminal emulators (Ghostty recomended, WezTerm, ITerm2, Warp, macOS defaul Terminal not recomended).
- โ Nightly Builds: Automated nightly builds available for all major platforms (Linux, Windows, macOS)
- โ Installation Methods: Multiple installation options including nightly builds and source compilation
- โณ Configuration System: Implementing a fully working configuration system with easy setup for binary installations
- โณ Action Verification: Adding deep verification for destructive operations (like delete actions) to prevent accidental data loss
While Quetty is functional and actively used in development environments, please exercise caution when using it in production scenarios. We recommend thorough testing in your specific environment before deploying to production systems.
๐งช Beta Testing
Want to participate in beta testing? We'd love your feedback! Contact us via:
- GitHub Issues: Open an issue for bug reports and feature requests
- Email: pereiradawid@outlook.com
- LinkedIn: www.linkedin.com/in/pereiradawid
Your testing and feedback help us build a better tool for the entire Azure Service Bus community.
Interface Preview
๐ฅ Live Demo
See Quetty in action with this interactive demo showcasing core features:
https://github.com/user-attachments/assets/f52fb894-47a5-4287-b936-9e2b437a308a
Key Features
๐ Message Management
- Smart Preview: Automatically previews messages with syntax highlighting
- Efficient Pagination: Browse large queues with intelligent caching
- Bulk Operations: Delete, send, or manage multiple messages at once
- Message Editing: Edit and resend messages directly from the interface
๐ Dead Letter Queue Support
- Seamless DLQ Navigation: Switch between main and dead letter queues
- Message Recovery: Resend messages from DLQ back to main queue
- Bulk DLQ Operations: Handle multiple messages efficiently
๐ฏ Azure Integration
- Multiple Auth Methods: Device code, client credentials, connection strings
- Azure Discovery: Automatically discover subscriptions, resource groups, and namespaces
- Queue Statistics: Real-time queue metrics and health monitoring
๐ Profile Management
- Multi-Environment Support: Separate profiles for dev, staging, production
- Profile Switching: Quick environment switching with
--profileflag - Secure Isolation: Each profile has isolated configuration and credentials
- Easy Setup: Interactive setup wizard for each environment
๐จ User Experience
- Intuitive Interface: Keyboard-driven navigation with vim-like shortcuts
- Customizable Themes: Built-in themes (Catppuccin, Nightfox, Quetty) with custom theme support
- Real-time Updates: Instant feedback with smart state management
- Comprehensive Help: Context-aware help system
Quick Start
Prerequisites
- Rust (latest stable version)
- Azure Service Bus namespace with appropriate permissions
Installation
Option 1: One-Line Installation ๐ (Recommended)
The fastest way to get Quetty running on any platform:
Unix/Linux/macOS:
|
Windows PowerShell:
Invoke-RestMethod -Uri "https://raw.githubusercontent.com/dawidpereira/quetty/main/install.ps1" | Invoke-Expression
What the installer does:
- โ Auto-detects your platform and architecture
- โ Downloads the correct pre-built binary
- โ Verifies SHA256 checksum for security
- โ
Installs to your PATH (
~/.local/binor system directory) - โ Ready to use immediately
Advanced options:
# Install specific version
|
# Install to custom directory
|
# System-wide installation (requires sudo)
|
# Install nightly build
|
# Preview what will be installed (dry run)
|
Supported platforms:
- Linux x64, macOS Intel/Apple Silicon, Windows x64/ARM64
Option 2: Homebrew ๐บ (macOS/Linux)
The recommended way for macOS and Linux users:
โ ๏ธ Beta Release: This installs the current beta version. Expect potential changes and updates before the stable release.
# Add the tap
# Install quetty
# Verify installation
What you get:
- โ Automatic dependency management
- โ
Easy updates with
brew upgrade quetty - โ
Clean uninstall with
brew uninstall quetty - โ Integration with system PATH
Option 3: Manual Download ๐ฆ
Download pre-built binaries from GitHub Releases:
Stable Releases ๐ฏ (Production):
- Download: https://github.com/dawidpereira/quetty/releases/latest
- Available for: Linux x64, Windows x64/ARM64, macOS x64/ARM64
Nightly Builds ๐ (Latest features):
- Download: https://github.com/dawidpereira/quetty/releases/tag/nightly-latest
- โ ๏ธ Warning: May be unstable, not recommended for production
Manual installation:
# Linux/macOS
# Windows
# Extract ZIP and move to PATH directory
# Verify checksums
Option 4: Build from Source ๐ง
For development or latest unreleased features:
First Run
Interactive Setup (Recommended)
# Run the setup wizard
# For specific environments, use profiles
Quick Start
# Default profile
# Specific profile
On first launch, Quetty will guide you through the configuration process. For detailed setup instructions, see INSTALLATION.md.
Basic Usage
- Configure Authentication: Set up Azure AD or connection string authentication
- Select Namespace: Choose your Service Bus namespace
- Pick a Queue: Select the queue you want to manage
- Start Managing: Use keyboard shortcuts to navigate and manage messages
๐ก Tip: Press
hat any time to see available keyboard shortcuts and help.
Profile Management
Quetty supports multiple profiles for different environments:
# Create profiles for different environments
# Switch between environments
# Show configuration directory
# Use custom config file
Development
For development setup and contribution guidelines, see CONTRIBUTING.md.
Project Structure
ui/- Terminal user interface (main application)server/- Core library for Azure Service Bus integrationthemes/- Built-in themes and theme definitions
Documentation
Getting Started
- Installation Guide - Setup, profiles, and first-time configuration
- User Guide - Interface usage and message management
Reference
- CLI Reference - Complete command-line options
- Configuration Reference - All configuration and authentication options
Additional Resources
- Troubleshooting - Common issues and solutions
- Contributing - Development and contribution guidelines
Roadmap
Upcoming Features
- Binary Releases: Pre-built binaries for major platforms
- Enhanced Bulk Operations: Improved performance for large-scale operations
- Message Templates: Save and reuse common message patterns
- Topic Support: Full Azure Service Bus Topics and Subscriptions support
- Advanced Filtering: Search and filter messages by content, properties, and metadata
Recent Additions
- โ Profile-Based Configuration: Multi-environment support with isolated settings
- โ Enhanced Security: Path traversal protection and input validation
- โ Performance Optimization: Intelligent caching and reduced filesystem operations
- โ Complete Authentication Suite: Device code, client credentials, connection strings
- โ Bulk Operations: Multi-message delete, DLQ, and resend operations
- โ Theme System: Customizable themes with built-in theme packs
- โ Message Editing: Edit and resend messages with validation
- โ Azure Discovery: Automatic resource discovery and selection
Acknowledgments
Quetty is built on the shoulders of amazing open-source projects:
- Ratatui - A powerful Rust library for building rich terminal user interfaces
- tui-realm - An excellent framework for building stateful TUI applications
- Tokio - The asynchronous runtime for Rust
- Azure SDK for Rust - Azure service integrations
Special thanks to the maintainers and contributors of these projects for making terminal-based applications in Rust both powerful and enjoyable to develop.
License
This project is licensed under the MIT License - see the LICENSE file for details.