2 releases
new 0.1.0 | Mar 13, 2025 |
---|---|
0.1.0-rc.2 | Mar 12, 2025 |
#480 in Command line utilities
44 downloads per month
390KB
10K
SLoC
Manage your Fly.io resources in style!
Website
πͺ flyradar π is a terminal UI for managing and monitoring your Fly.io resources, inspired by k9s. It provides an intuitive, keyboard-driven interface to interact with your Fly.io apps, and moreβall from your terminal.
Manage your Fly.io apps, VMs, volumes and secrets - all in your terminal
Quickstart
[!NOTE]
flyradar is an OSS third-party tool and is not an official Fly.io project.
[!IMPORTANT]
flyradar relies on the Fly CLI for authentication and its built-in agent for operational functionality. Make sure you have flyctl installed on your system before proceeding.
Install flyradar
with cargo
:
cargo install flyradar
[!NOTE]
See the other installation methods π¦
Make sure you are authenticated into fly
:
fly auth login
Just run flyradar
:
flyradar
Features
- π» Interactive terminal UI for managing Fly.io resources
- π Real-time monitoring of your applications and other resources
- π Quick access to resource logs with filtering and dumping capabilities
- π― Focused on operational workflows (viewing, monitoring, deleting, logging) for existing resources
- Creation workflows are intentionally left to the Fly CLI, as they tend to be more complex and change more frequently
- Operational workflows have more stable interfaces and are naturally well-suited for a terminal UI
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Development Guidelines
- This project follows Conventional Commits for all commit messages (e.g.,
feat(logs): add dumping logs
,fix(tui): fix tab completion for command input
) - Before submitting a PR, please run:
cargo fmt
to ensure consistent code formattingcargo clippy
to catch common mistakes and improve code qualitycargo test
to verify your changes don't break existing functionality
Project Structure
This project implements parts of several components from flyctl in Rust, with a focus on maintaining equivalent functionality:
src/agent
β flyctl/agent (client-side only)src/logs
β flyctl/logssrc/ops
β flyctl/internal/commandsrc/wireguard
β flyctl/internal/wireguard/wg.gosrc/fly_rust
β fly-go
[!NOTE]
Only the necessary functionality from these components are implemented while aiming to maintain the same behavior and interfaces where possible.
This project uses a patched version of the async-nats crate to enable IPC communication with the Fly agent. You can find the fork here.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
Dependencies
~182MB
~3M SLoC