A multi-cloud beautiful terminal UI for managing serverless functions, inspired by k9s.
_____ ________
_/ ____\/ _____/ ____
\ __\/ __ \ / \
| | \ |__\ \ | \
|__| \_____ /___| /
\/ \/
- π List all Lambda/Cloud functions in your AWS/GCP account
- π Inspect function details including configuration, environment variables, and metadata
- π View function metrics and status
- π Refresh in real-time to see the latest changes
- π Multi-region support - switch between AWS regions
- π¨ Beautiful TUI - clean and intuitive interface
- β¨οΈ Keyboard-driven - fast navigation with keyboard shortcuts
- π View CloudWatch logs for functions
- π Get API Gateway endpoints associated with functions
- π» View function source code
- π Switch between environments (dev, stage, prod)
- π§ Support for GCP Cloud Functions (future)
- Go 1.24+ installed
- AWS CLI configured with valid credentials
- Access to AWS Lambda in your account
# Clone the repository
git clone <repository-url>
cd f6n
# Build and install
make install
# Or build only
make buildAfter building, the binary will be available at ./bin/f6n
f6n uses the standard AWS credential chain. You can configure it in several ways:
-
AWS CLI Configuration (recommended)
aws configure
-
Environment Variables
export AWS_ACCESS_KEY_ID=your_access_key export AWS_SECRET_ACCESS_KEY=your_secret_key export AWS_REGION=us-east-1
-
AWS Profile
f6n --profile my-profile
f6n [options]
Options:
--region string AWS region (default: AWS_REGION env var or us-east-1)
--env string Environment name (default: STAGE env var or dev)
--profile string AWS profile to use (default: AWS_PROFILE env var)
--log-level string Log level: debug, info, warn, error (default: info)# Use default configuration
f6n
# Specify region
f6n --region us-west-2
# Use specific AWS profile
f6n --profile production
# Set environment
f6n --env prodβ/βorj/k- Navigate through functionsEnter- View function detailsr- Refresh function liste- Change environment (coming soon)l- View logs (coming soon)a- View API Gateway endpoints (coming soon)c- View function code (coming soon)qorCtrl+C- Quit
β/β- Scroll through detailsEsc- Return to list viewq- Quit
f6n/
βββ cmd/
β βββ f6n/ # Application entry point
β βββ main.go
βββ internal/
β βββ aws/ # AWS Lambda client wrapper
β β βββ lambda.go
β β βββ dummy.go # Dummy data for testing
β βββ config/ # Configuration management
β β βββ config.go
β βββ ui/ # Terminal UI components
β βββ model.go # TUI model and state
β βββ render.go # Rendering logic
β βββ views.go # View types
β βββ styles/ # UI styling
β βββ styles.go
βββ go.mod
βββ go.sum
βββ Makefile
βββ README.md
# Build the application
make build
# Run tests
make test
# Run linter
make lint
# Format code
make fmt
# Run the application
make runBy default, the application uses dummy data for development. To use real AWS data:
Edit internal/aws/dummy.go and set:
var UseDummyData = falseContributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow standard Go conventions
- Run
make fmtbefore committing - Ensure all tests pass with
make test - Add tests for new features
- Bubble Tea - TUI framework
- Bubbles - TUI components
- Lip Gloss - Styling
- AWS SDK for Go v2 - AWS integration
MIT License - see LICENSE file for details
- CloudWatch Logs integration
- API Gateway endpoint discovery
- Function code viewer
- Environment switching
- Function invocation
- Metrics and monitoring
- Multi-cloud support (GCP Cloud Functions)
- Configuration file support
- Search and filtering
- Function tagging support
For issues, questions, or contributions, please open an issue on GitHub.