Skip to main content

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 .drawio files 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 auth or 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

gcp_radar-0.1.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gcp_radar-0.1.0-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file gcp_radar-0.1.0.tar.gz.

File metadata

  • Download URL: gcp_radar-0.1.0.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for gcp_radar-0.1.0.tar.gz
Algorithm Hash digest
SHA256 12ecfff000f52688c648feb523ea2472633586062601f7557bbc8b89a95c74fd
MD5 92e34b42e040aa413c5f903845a41d12
BLAKE2b-256 8929229febc66866f6bd56cf496706acf73ea4c5aeff2a2a8c20e5cfaa2b7e5d

See more details on using hashes here.

File details

Details for the file gcp_radar-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gcp_radar-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for gcp_radar-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ffed77e97d78070e371a2d3e5c7a9b1b82b50209eee77baef1db5b4c0d4f6dfc
MD5 60875248afc810a38d45a4a1de626997
BLAKE2b-256 c5d35a4512ad08c9bdbc91b8491ebdef5e0e2c8cb66250b5a51b936c6c501d27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page