A terminal-based UI application for interacting with and managing cloud services, featuring a clean interface for AWS services and Elasticsearch.
- AWS DynamoDB
- Browse and query DynamoDB tables
- Elasticsearch
- View and analyze logs
- Extensible Architecture
- Easily add support for additional services
- Split Panel Views
- Efficient navigation between different sections
- Real-Time Filtering and Search
- Quickly find the data you need
- Keyboard-Driven Interface
- Navigate without leaving the keyboard
- Color-Coded Elements
- Enhance readability and usability
- Status Bar
- Provides feedback and essential information
- Command Mode
- Execute quick navigation and commands
- AWS Credentials
- Configuration: Set up standard AWS credentials in
~/.aws/credentialsand~/.aws/config - Supported Profile Types:
- Standard AWS Profiles: Any profiles defined in your AWS configuration
- Opal-Managed Profiles: Profiles that match configured Opal environment patterns
- Local Development Profile: For local development environments
- Opal CLI
- Purpose: Required for using Opal-managed profiles
- Installation & Configuration:
- Ensure the Opal CLI is installed on your system
- Configure the Opal CLI
- Run
opal loginto authenticate before first use
Important: If you encounter any issues with Opal authentication, please refer to the AWS Opal Authentication Guide for detailed troubleshooting steps.
CloudCutter supports flexible profile mapping for Opal authentication. You can configure this in two ways:
- Environment Variables:
export OPAL_DEV_ROLE_ID=********-****-****-****-************
export OPAL_PROD_ROLE_ID=********-****-****-****-************- Configuration File (Optional):
Create
~/.cloudcutter/opal.json:
{
"environments": {
"dev": {
"roleId": "********-****-****-****-************",
"profileTags": ["dev", "development", "opal_dev"]
},
"prod": {
"roleId": "********-****-****-****-************",
"profileTags": ["prod", "production", "opal_prod"]
}
}
}This configuration allows CloudCutter to map AWS profiles to the appropriate Opal roles based on profile name patterns.
-
Standard AWS Profiles
- Uses credentials from AWS credentials and config files
- Supports default and named profiles
- Automatically handles credential refresh
-
Opal Authentication
- Automatically detects and maps profiles to Opal environments
- Handles automatic session management
- Requires a valid Opal CLI session
- Maps profiles based on configured patterns (e.g., "dev", "prod" in profile name)
-
Local Development
- Profile Name:
local - Uses local endpoints for development
- Region automatically set to "local"
- Profile Name:
- Table listing and selection
- Item viewing and filtering
- Dynamic attribute handling
- Cached table descriptions
- Query building and execution
- Field selection and filtering
- Real-time result filtering
- Index selection and management
/: Open filter prompt:: Open command promptESC: Close modals/return to main viewTab: Cycle through components
Each view implements custom key handlers for specific functionality.
-
Opal Session Expired
- Error: "opal session expired"
- Solution:
- Run
opal loginin terminal - Retry the operation
- Run
-
Profile Switching
- Issue: Only one authentication process can run at a time
- Solution: Wait for the current authentication to complete before switching profiles
- Fork the repository
- Create a feature branch
- Implement changes with appropriate tests
- Submit a pull request
MIT License - See LICENSE file for details
Built with: