TGCP is a terminal-based user interface for observing and managing Google Cloud Platform resources, inspired by tools like K9s and TAWS. It provides a fast, keyboard-driven experience for DevOps engineers and Cloud Administrators.
- π‘ Observability First: Designed for reading statuses, logs, and configurations quickly.
- π Fast Navigation: Global vim-style keybindings (
j/k,Shift+H/L). - π Secure Authentication: Uses Application Default Credentials (ADC) - no new keys to manage.
- β‘ Smart Caching: Instant tab switching with background data refreshes.
- π±οΈ Mouse Support: Click to select items; hold Shift to select text.
- π οΈ Service Support:
- Compute: GCE Instances (Manage power state, SSH), GKE Clusters (Launch k9s), Cloud Run & Cloud Functions.
- Storage: GCS Buckets, Persistent Disks.
- Databases: Cloud SQL, Spanner, Bigtable, Memorystore (Redis), Firestore.
- Data & Analytics: BigQuery, Dataflow, Dataproc, Pub/Sub.
- Security & Networking: IAM, Secret Manager, VPCs, Subnets, Firewalls.
- Observability: Cloud Logging.
- DevOps: Cloud Build, Artifact Registry.
- π‘οΈ Safety: Read-only by default for sensitive configs; confirmation dialogs for actions.
- π Documentation:
- Google Cloud SDK (
gcloud) installed and configured
brew tap yogirk/tgcp
brew install tgcpTo upgrade to the latest version:
brew upgrade tgcpDownload the latest release for your architecture:
# For x86_64 (amd64)
curl -L https://github.com/yogirk/tgcp/releases/latest/download/tgcp_0.1.0_linux_amd64.tar.gz | tar -xz
sudo mv tgcp /usr/local/bin/
# For ARM64
curl -L https://github.com/yogirk/tgcp/releases/latest/download/tgcp_0.1.0_linux_arm64.tar.gz | tar -xz
sudo mv tgcp /usr/local/bin/Or download from the Releases page.
Requires Go 1.21 or higher.
git clone https://github.com/yogirk/tgcp.git
cd tgcp
go build -o tgcp ./cmd/tgcp
sudo mv tgcp /usr/local/bin/TGCP uses Application Default Credentials (ADC) to authenticate with Google Cloud.
- Login with gcloud:
gcloud auth application-default login
- Verify Project:
Ensure your default project is set in gcloud:
gcloud config set project [YOUR_PROJECT_ID]
Run the application:
tgcpTGCP supports a configuration file at ~/.tgcprc (YAML format).
Example ~/.tgcprc:
project: "my-default-project"
ui:
sidebar_visible: true| Flag | Description |
|---|---|
--project <ID> |
Override the default project ID for this session. |
--debug |
Enable verbose logging to ~/.tgcp/debug.log. |
--version |
Display version information. |
--help |
Show help message. |
| Key | Action |
|---|---|
q |
Quit application or Go Back |
? |
Toggle Help overlay |
: |
Open Command Palette |
/ |
Filter current list |
Ctrl+c |
Force Quit |
| Key | Action |
|---|---|
β / k |
Move selection up |
β / j |
Move selection down |
Enter |
Select item / View Details |
Tab |
Toggle Sidebar visibility |
Click |
Select item (mouse/trackpad) |
Shift+Drag |
Select text for copy |
| Key | Action | Context |
|---|---|---|
r |
Refresh data (bypassing cache) | Global |
s |
Start resource | GCE, Cloud SQL |
x |
Stop resource | GCE, Cloud SQL |
h |
SSH into instance | GCE |
K |
Launch k9s | GKE |
[ / ] |
Switch Tabs | Cloud Run (Services/Functions) |
Enter |
Drill Down / Open | GCS Object Browser, BigQuery |
Esc |
Go Back / Up Level | GCS Object Browser, BigQuery |
Cause: The application cannot find valid credentials.
Fix: Run gcloud auth application-default login. If that fails, ensure GOOGLE_APPLICATION_CREDENTIALS environment variable is pointing to a valid key file.
Cause: The ADC credentials didn't contain a quota project, and no project was specified in flags.
Fix: Run gcloud config set project <PROJECT_ID> or run tgcp with tgcp --project <PROJECT_ID>.
Cause: Your credentials might not have permissions for the specific service (e.g., Compute Viewer). Fix: Ensure your user account or service account has the necessary IAM roles.
- Run in debug mode:
go run ./cmd/tgcp --debug - View logs:
tail -f ~/.tgcp/debug.log - Run tests:
go test ./...
MIT
