Rusticity - Terminal UI for AWS
A snappy terminal UI for AWS written in 🦀 Rust, inspired by 🧬 Helix editor.
⚠️ Early Development: Rusticity is in active development. Expect breaking changes, bugs, and evolving features. Use at your own risk and please report any issues you encounter!
Features
- 📟 Terminal UI using Ratatui
- ⌨️ Helix-like keybindings with Normal and Insert modes
- 🪟 Multi-pane support
- 🏗️ Modular architecture with separate crates:
rusticity-core: AWS SDK integrationrusticity-term: Terminal UI componentsrusticity: Main binary
Supported Services
- 📊 CloudWatch Logs: Log groups, log streams, log events
- 🔍 CloudWatch Logs Insights: Query and analyze logs
- 🚨 CloudWatch Alarms: View and manage alarms
- 🪣 S3: Browse buckets and objects
- 📦 ECR: Elastic Container Registry (public and private)
- ☁️ CloudFormation: View and manage stacks
- λ Lambda: Function management
- 👤 IAM: Identity and Access Management
Want to see support for another AWS service? Request it here or upvote existing requests!
Architecture
Inspired by Helix editor (https://github.com/helix-editor/helix), the project is split into:
- rusticity-core: Core AWS functionality (SDK clients, API calls, data models)
- rusticity-term: Terminal UI layer (event handling, keymaps, rendering, pane management)
- rusticity: Main application binary
Installation
From crates.io
From source
Configuration
Configure AWS credentials using standard AWS methods:
# Using environment variables
# Or use AWS CLI configuration
Column Customization
Customize column names by adding a [columns] section to ~/.config/rusticity/config.toml:
[]
= "Function Name"
= "Description"
[]
= "Log Group"
= "Storage"
Usage
# Run the application
# With specific AWS profile and region
AWS_PROFILE=your-profile AWS_DEFAULT_REGION=your-region
Development
The project uses a Cargo workspace with three crates:
rusticity/
├── rusticity-core/ # Core AWS SDK integration
├── rusticity-term/ # Terminal UI components
└── rusticity/ # Main binary
Setup
# Clone and build
# Run tests (also installs git hooks automatically)
Git hooks will automatically check formatting and linting before commits.
Run
# Run the application
# With specific AWS profile and region
AWS_PROFILE=your-profile AWS_DEFAULT_REGION=your-region
Testing
cargo test runs all checks including formatting, linting, and tests:
License
Apache-2.0