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

MIT license

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.

flyradar demo

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 formatting
    • cargo clippy to catch common mistakes and improve code quality
    • cargo 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:

[!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

  • Fly.io for their amazing platform
  • k9s for inspiration

Dependencies

~182MB
~3M SLoC