1.1.0 β’ Published 5 months ago
@rubys/fly-explorer v1.1.0
Fly.io Explorer
A comprehensive web-based dashboard for managing Fly.io infrastructure using Model Context Protocol (MCP) integration with flyctl. Provides a complete graphical interface for all Fly.io operations without requiring command-line usage.
π Features
Organization & Application Management
- Multi-Organization Support: Switch between organizations and view detailed statistics
- Complete App Lifecycle: Create, delete, and move applications between organizations
- Application Monitoring: Real-time status tracking (deployed, suspended, failed)
- Deployment Management: Deploy applications and track release history
Virtual Machine Management
- Machine Creation: Advanced machine creation with platform-aware configuration:
- Regional deployment with automatic region/VM size population
- Docker image specification
- Environment variable management
- Service/port configuration
- Volume attachment
- Machine Operations: Complete lifecycle control:
- Start/Stop/Restart machines
- Clone machines with optional region changes
- Cordon/Uncordon for allocation management
- Destroy machines with force options
- Detailed Monitoring: Comprehensive machine information including hardware specs, network details, event logs, and health checks
Storage & Configuration Management
- Volume Management: Create, extend, delete, and monitor persistent volumes
- Secrets Management: Secure environment variable handling with deployment tracking
- SSL Certificate Monitoring: View certificate status, expiration, and validity
Real-time Monitoring & Logging
- Live Log Streaming: Real-time application logs with advanced filtering:
- Filter by machine, region, or line count
- Color-coded log levels (error, warn, info, debug)
- ANSI escape sequence support for formatted output
- Machine State Tracking: Live updates of machine status and events
- Platform Status: Monitor Fly.io platform health and available regions
Advanced Administration (MCP Tool Explorer)
- Universal Tool Access: Execute any flyctl command through an intuitive interface
- Dynamic Form Generation: Automatically generates forms based on tool schemas
- Parameter Validation: Type checking and required field validation
- Raw MCP Access: Direct access to all 54+ flyctl MCP tools for advanced operations
ποΈ Architecture
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β React Frontend β β Express Server β β flyctl MCP β
β (Port 3000) βββββΊβ (Port 3001) βββββΊβ Server β
β β β β β β
β β’ UI Components β β β’ REST API β β β’ Tool Executionβ
β β’ State Mgmt β β β’ MCP Client β β β’ Data Parsing β
β β’ Real-time UI β β β’ Data Transformβ β β’ flyctl Bridge β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββTechnology Stack
- Frontend: React with TypeScript, responsive CSS design
- Backend: Express.js with comprehensive error handling
- MCP Integration: Full Model Context Protocol client implementation
- Real-time Updates: Automatic refresh and live status monitoring
π¦ Installation
Quick Start with npx (Recommended)
Run instantly without installation:
npx @rubys/fly-explorerThis will download and start Fly Explorer automatically. Open your browser to http://localhost:3001
Global Installation
Install globally via npm to use the fly-explorer command anywhere:
npm install -g @rubys/fly-explorer
fly-explorerLocal Installation
Install in your project directory:
npm install @rubys/fly-explorer
npx fly-explorerPrerequisites
- Node.js (v18+)
- flyctl binary available in system PATH (install flyctl)
π¦ Development Setup
Quick Start
- Clone the repository:
git clone https://github.com/rubys/fly-explorer.git
cd fly-explorer- Install dependencies:
npm install- Ensure flyctl is available:
flyctl version- Start development environment:
npm run devThis starts:
- Frontend: http://localhost:5173 (React with Vite)
- Backend: http://localhost:3001 (Express API server)
- MCP Connection: Automatic connection to flyctl MCP server
Production Build
npm run build # Build React frontend and server
npm start # Start production serverπ‘ API Reference
Organization Management
GET /api/organizations- List all organizationsGET /api/organizations/:org- Get organization detailsPOST /api/organizations/:org/apps- Create new application
Application Management
GET /api/organizations/:org/apps- List applicationsDELETE /api/apps/:app- Delete applicationPUT /api/apps/:app/move- Move app between organizationsPOST /api/apps/:app/deploy- Deploy applicationGET /api/apps/:app/status- Get application statusGET /api/apps/:app/releases- Get release history
Machine Management
GET /api/apps/:app/machines- List machinesGET /api/apps/:app/machines/:id- Get machine detailsPOST /api/apps/:app/machines- Create machineDELETE /api/apps/:app/machines/:id- Destroy machinePOST /api/apps/:app/machines/:id/start- Start machinePOST /api/apps/:app/machines/:id/stop- Stop machinePOST /api/apps/:app/machines/:id/restart- Restart machinePOST /api/apps/:app/machines/:id/clone- Clone machinePOST /api/apps/:app/machines/:id/cordon- Cordon machinePOST /api/apps/:app/machines/:id/uncordon- Uncordon machine
Storage & Configuration
GET /api/apps/:app/volumes- List volumesPOST /api/apps/:app/volumes- Create volumeDELETE /api/apps/:app/volumes/:id- Delete volumePUT /api/apps/:app/volumes/:id/extend- Extend volumeGET /api/apps/:app/secrets- List secretsPOST /api/apps/:app/secrets- Create/update secretsDELETE /api/apps/:app/secrets/:name- Delete secretGET /api/apps/:app/certificates- List SSL certificates
Platform Information
GET /api/platform/regions- List available regionsGET /api/platform/vm-sizes- List VM sizes and pricingGET /api/platform/status- Platform health status
Monitoring & Logs
GET /api/apps/:app/logs- Stream application logsGET /api/tools- List all available MCP toolsPOST /api/tools/:tool/execute- Execute any MCP tool
π― Use Cases
Development Teams
- Rapid Prototyping: Quickly spin up applications and machines for testing
- Environment Management: Manage development, staging, and production environments
- Log Debugging: Real-time log monitoring with advanced filtering
- Resource Optimization: Monitor and adjust machine sizes and regional deployment
DevOps & Infrastructure
- Infrastructure as Code: Programmatic machine and volume management
- Multi-Organization Management: Handle multiple clients or projects
- Operational Monitoring: Track application health and performance
- Disaster Recovery: Machine cloning and cross-region deployment
Learning & Exploration
- Fly.io Onboarding: Visual introduction to Fly.io concepts and capabilities
- Command Discovery: Explore flyctl functionality through the MCP Tool Explorer
- Safe Experimentation: GUI-based operations with confirmation prompts
π§ Advanced Features
MCP Tool Explorer
Access to all flyctl capabilities through a visual interface:
- Execute any of the 54+ available flyctl tools
- Dynamic parameter forms with validation
- Raw access to advanced operations not available in the main UI
Platform Integration
- Real-time Data: Live synchronization with Fly.io APIs
- Intelligent Parsing: Automatic handling of various flyctl output formats
- Error Handling: Comprehensive error messages and recovery suggestions
Safety Features
- Confirmation Dialogs: Protection against accidental destructive operations
- Validation: Input validation and type checking throughout
- Rollback Information: Clear indication of irreversible operations
π€ Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes and test thoroughly
- Submit a pull request with a clear description
Publishing (Maintainers Only)
To publish a new version to npm:
- Update version in package.json:
npm version patch # or minor/major- Build and publish:
npm run build
npm publish- Push changes and tags:
git push origin main --tagsThe package is published as @rubys/fly-explorer on npm.
π License
MIT License - see LICENSE file for details
π Related Projects
- Fly.io - The platform this tool manages
- flyctl - The CLI tool this interfaces with
- Model Context Protocol - The protocol used for integration