Terminal UI for exploring AWS SNS topics and SQS queues.
Built with Rust, ratatui, and the AWS SDK — browse messaging infrastructure across multiple profiles and regions from your terminal.
cargo install bridgioOr build from source:
cargo build --release
./target/release/bridgio- Browse SQS queues with message counts (visible, in-flight, delayed)
- Browse SNS topics with subscription counts
- Detailed attribute views for individual queues and topics
- SQS queue insights with CloudWatch-backed drain, ETA, age, and pressure signals
- SNS → SQS subscription exploration with filter policies
- Visual dependency map showing topic-to-queue edges (ASCII tree)
- Multi-profile and multi-region support (16 AWS regions)
- Search and filter by name with friendly wildcards (
*-dlq,prod-*,queue-??) and combined terms (prod *-dlq), sort by name or message count - Multi-select resources for dependency analysis
- Copy context to clipboard in markdown format
- Profile and region persistence across sessions
- Rust 2024 edition
- AWS credentials configured in
~/.aws/configand/or~/.aws/credentials
To use the application fully, the active AWS identity needs read-only access to SQS, SNS, and CloudWatch in the selected account and region.
Minimum permissions for the existing browse/detail flows:
sqs:ListQueuessqs:GetQueueAttributessns:ListTopicssns:GetTopicAttributessns:ListSubscriptionssns:ListSubscriptionsByTopicsns:GetSubscriptionAttributes
Additional permission for the SQS insight block in queue detail:
cloudwatch:GetMetricData
If cloudwatch:GetMetricData is missing, the queue detail still opens and raw SQS attributes still work, but the insights block will show partial/unavailable values and the status bar will display a warning.
cargo build --release
./target/release/bridgio| Key | Action |
|---|---|
q |
Open quit confirmation |
Ctrl+C |
Quit immediately |
1 |
Switch to SQS list |
2 |
Switch to SNS list |
? |
Toggle help |
p / P |
Open profile picker |
r / R |
Open region picker |
F5 |
Refresh |
c |
Copy context to clipboard |
| Key | Action |
|---|---|
↑ / k |
Cursor up |
↓ / j |
Cursor down |
Enter |
Open detail view |
/ |
Start search (filter by name, supports * and ?) |
s |
Cycle sort: Name → Messages ↓ → Messages ↑ (SQS only) |
Space |
Toggle selection |
m |
Open dependency map (requires selections) |
x |
Clear all selections |
| Key | Action |
|---|---|
Tab |
Switch focus between panels |
↑ / k |
Scroll up |
↓ / j |
Scroll down |
Esc |
Back / cancel / close modal |
| Key | Action |
|---|---|
| Any character | Append to query |
Backspace |
Delete last character |
Esc / Enter |
Exit search |
Profile discovery — Reads profiles from ~/.aws/config and ~/.aws/credentials. The default profile is always available.
Regions — 16 hardcoded AWS regions. Default: eu-west-1.
Persistence — Last used profile and region are saved to ~/.local/share/bridgio/state and restored on next launch.
| Crate | Purpose |
|---|---|
| ratatui 0.30 | TUI rendering framework |
| crossterm 0.29 | Terminal control |
| tokio 1.50 | Async runtime |
| aws-sdk-sqs 1.97 | SQS client |
| aws-sdk-sns 1.98 | SNS client |
| aws-config 1.8 | AWS SDK configuration |
| anyhow 1.0 | Error handling |