Skip to main content

Sufficient visibility into cloud infrastructure failures โ€” live AWS topology + Terraform drift in one CLI.

Project description

๐Ÿ”ฌ sudiviz

X-ray vision for your cloud infrastructure

sudiviz visualizes your live AWS infrastructure as an interactive graph. Auto-detects misconfigurations, unhealthy targets, and orphan resources โ€” then fixes them with one command.

๐Ÿš€ Zero AI tokens | ๐Ÿ’ธ Zero cost | ๐Ÿ Pure Python

Web Graph


๐Ÿ“ฆ Quick Start

pip install 'sudiviz[all]'

# Diagnose your infrastructure
sudiviz diagnose

# Interactive web visualization
sudiviz graph --output web --open

# Auto-fix issues
sudiviz fix --apply

Auth: Uses standard boto3 credentials (~/.aws/credentials, env vars, SSO, or instance profile)


โœจ Features

Feature Description
Live Topology Real-time graph of ALB โ†’ Target Groups โ†’ EC2 โ†’ Security Groups
Health Detection Unhealthy targets, failing health checks, orphan resources
Auto-Fix One-click remediation with sudiviz fix --apply
Traffic Animation Visualize request flow with animated pulses
Health Heatmaps Color-code infrastructure by health status
Dark/Light Mode Toggle theme in web UI
Terraform Drift Compare live AWS vs Terraform state
Multi-Service ALB, EC2, ECS, EKS, RDS, Lambda, S3, Security Groups

๐ŸŽจ Visualization Modes

Terminal

sudiviz diagnose --region us-east-1

TUI (Interactive Terminal)

sudiviz tui

Web (Cytoscape.js)

sudiviz graph --output web --port 8000 --open

PNG Export

sudiviz graph --output png --file topology.png

๐Ÿ”ง Auto-Fix

sudiviz fix                    # Preview fixes (dry-run)
sudiviz fix --apply            # Apply all fixes
sudiviz fix 1 --apply          # Apply specific fix
sudiviz fix --apply --force    # Include destructive operations

Supported fixes:

  • Security group missing ingress rules
  • S3 public access / encryption
  • RDS public accessibility
  • Orphan target groups (with --force)
  • Unused security groups (with --force)

๐Ÿ”„ Terraform Drift

terraform show -json > tfstate.json
sudiviz drift --tfstate tfstate.json

๐Ÿ“Š CI Integration

# Fail CI on critical issues
sudiviz diagnose --json | jq '.diagnosis.fixes[] | select(.severity=="critical")'

# Drift detection gate
sudiviz drift --tfstate tfstate.json --json
Exit Code Meaning
0 No issues
1 Drift detected
2 Critical issues found

๐Ÿ“ธ More Screenshots

Click to expand

Terminal TUI

TUI

Diagnose Output

Diagnose

Auto-Fix Preview

Fix

Traffic Flow Animation

Traffic

Health Heatmap

Heatmap


๐Ÿ†š Comparison

Feature sudiviz Hava.io Cloudcraft
Live data โœ… โŒ โŒ
Auto-fix โœ… โŒ โŒ
Traffic animation โœ… โŒ โŒ
Health heatmaps โœ… โŒ โŒ
Terraform drift โœ… โŒ โŒ
Orphan detection โœ… โŒ โŒ
Free & open source โœ… MIT $29/mo $49/mo

๐Ÿ” IAM Permissions

Read-only (sudiviz diagnose):

  • ReadOnlyAccess AWS managed policy

Write (sudiviz fix --apply):

  • AmazonEC2FullAccess
  • ElasticLoadBalancingFullAccess
  • AmazonS3FullAccess
  • AmazonRDSFullAccess

๐Ÿ“– Documentation

AWS Services Discovered
Service What's collected
ALB / NLB Load balancers, listeners, rules
Target Groups Health status per target
EC2 State, IPs, security groups
Security Groups Ingress/egress rules
ECS Clusters, services, task counts
EKS Clusters, node groups
RDS Instances, encryption, public access
Lambda Functions, VPC config
S3 Buckets, encryption, public access
Diagnostic Rules
Check Severity
Unhealthy targets critical
SG missing port from ALB critical
S3 public access open critical
RDS publicly accessible warning
Storage not encrypted warning
Orphan target group warning
Unused security group info
Architecture
sudiviz/
โ”œโ”€โ”€ cli.py           # Typer commands
โ”œโ”€โ”€ tui.py           # Textual TUI
โ”œโ”€โ”€ web.py           # FastAPI + WebSocket
โ”œโ”€โ”€ discovery/       # AWS discovery (boto3)
โ”œโ”€โ”€ graph/           # NetworkX + analyzers
โ”œโ”€โ”€ remediation/     # Auto-fix engine
โ””โ”€โ”€ web_templates/   # Cytoscape.js UI

๐Ÿ“ License

MIT โ€” see LICENSE


Built by @pydevsg

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

sudiviz-0.4.0.tar.gz (62.3 kB view details)

Uploaded Source

Built Distribution

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

sudiviz-0.4.0-py3-none-any.whl (64.6 kB view details)

Uploaded Python 3

File details

Details for the file sudiviz-0.4.0.tar.gz.

File metadata

  • Download URL: sudiviz-0.4.0.tar.gz
  • Upload date:
  • Size: 62.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sudiviz-0.4.0.tar.gz
Algorithm Hash digest
SHA256 50e126bcb0e03f83545b857fa5f1e9cd59ebff7d19fad62e47f2852d99920f99
MD5 bbc3ec472a477e83aabf611108af181c
BLAKE2b-256 848b7bf83b719e7d3744581de845c7a3290f0e6584127c6a1e7b8395012e67e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for sudiviz-0.4.0.tar.gz:

Publisher: publish.yml on pydevsg/sudiviz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sudiviz-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: sudiviz-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 64.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sudiviz-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89b879c7c569c530498df4caeef8d9e6755c7ff445bce08f0f92b59f5091f5bd
MD5 2833b2dd5110e1e0295a20b64b7979f3
BLAKE2b-256 f80d6fe21b9e5de97bc29ca40f9ccf93a42078ae72be10e8b99f8bc220fe38cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for sudiviz-0.4.0-py3-none-any.whl:

Publisher: publish.yml on pydevsg/sudiviz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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