GCP resource inventory scanner and draw.io architecture diagram generator
Project description
GCP Radar
GCP Resource Inventory Scanner & Architecture Diagram Generator
A Python CLI tool that inventories all your GCP resources and generates beautiful draw.io architecture diagrams.
Features
- 🔍 Inventory Scanning: Scans Compute Engine, Cloud SQL, Cloud Functions, GKE, Cloud Storage, Cloud Run, Firestore, Pub/Sub, and more
- 📊 CSV Export: Export complete inventory to CSV for further analysis
- 🏗️ Architecture Diagrams: Auto-generate draw.io
.drawiofiles with logical service connections - ☁️ Multi-Project Support: Scan multiple GCP projects in one go
- 🔐 Service Account Auth: Use gcloud default credentials or specify service account key
Installation
pip install gcp-radar
Or from source:
git clone https://github.com/yourname/gcp-radar.git
cd gcp-radar
pip install -e .
Quick Start
1. Inventory Your GCP Resources
# Scan default project
gcp-radar inventory --export inventory.csv
# Scan specific project
gcp-radar inventory --project my-project --export inventory.csv
# Export to specific region
gcp-radar inventory --region us-central1 --export inventory.csv
2. Generate Architecture Diagram
gcp-radar diagram --input inventory.csv --output architecture.drawio
# Then open architecture.drawio in app.diagrams.net or the desktop app
3. One-Shot: Scan + Diagram
gcp-radar run --project my-project \
--output-csv inventory.csv \
--output-diagram architecture.drawio
Supported GCP Services
| Service | Collected | Diagram |
|---|---|---|
| Compute Engine | ✓ | ✓ |
| Cloud SQL | ✓ | ✓ |
| Cloud Functions | ✓ | ✓ |
| GKE (Kubernetes Engine) | ✓ | ✓ |
| Cloud Storage | ✓ | ✓ |
| Cloud Run | ✓ | ✓ |
| Firestore | ✓ | ✓ |
| Pub/Sub | ✓ | ✓ |
Requirements
- Python 3.9+
- GCP credentials (via
gcloud author service account key) - Permissions:
compute:Read,sql:Read,container:Read,storage:Read,pubsub:Read,firestore:Read, etc.
Output Format
CSV Inventory
| ProjectID | Service | Name | ID | Type/Size | Status | Region | Extra |
|---|---|---|---|---|---|---|---|
| my-project | Compute Engine | web-01 | abc123 | n1-standard-2 | RUNNING | us-central1 | ... |
Architecture Diagram
Auto-generated .drawio file with:
- Swim lanes by service category (Compute, Database, Storage, Messaging)
- Icons for each resource
- Logical connections between services
Configuration
Create a .env file to override defaults:
export GCP_PROJECT=my-project
export GCP_REGION=us-central1
Or pass flags:
gcp-radar inventory --project my-project --region us-central1
License
MIT
Contributing
Pull requests welcome! Please open an issue first to discuss changes.
Support
GitHub Issues: https://github.com/yourname/gcp-radar/issues
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gcp_radar-0.1.9.tar.gz.
File metadata
- Download URL: gcp_radar-0.1.9.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e5bfa9de4e8add8f388c07b302a1c365a1dd711a5da1540a6a8dae67574a6e2
|
|
| MD5 |
98161adeda1ae027e03dd5aff602e653
|
|
| BLAKE2b-256 |
eb25c34d0bcefa40e820a86c70de7730f1915de930805725c04f44c49f1a0aa6
|
File details
Details for the file gcp_radar-0.1.9-py3-none-any.whl.
File metadata
- Download URL: gcp_radar-0.1.9-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5303b9a224b7f15734a455457e7701e97aa74207b47eea661375cfa5790c61c2
|
|
| MD5 |
83c03491f20e2b86fbaa91f2aefd7ab0
|
|
| BLAKE2b-256 |
d6fcdf836f4270a65488f145c25f651b8daeedd20ae4fc90e39400f7bf9f8314
|