AWS Infrastructure Visualization & Terraform Code Generation Platform
A cross-platform desktop application built with Wails v2 and Go 1.24, providing real-time AWS resource discovery, interactive topology visualization, and reverse-engineering capabilities for Infrastructure-as-Code generation.
📢 Beta Version Notice: Stratusphere is currently in beta. While core features are functional, you may experience bugs, performance issues, or incomplete functionality. We appreciate your feedback and bug reports!
Parallel fetching of AWS resources across 12+ services with automatic pagination and rate limiting
Interactive D3.js force-directed graphs showing resource relationships and dependencies
Reverse-engineer existing infrastructure into production-ready Terraform HCL code
AES-256-GCM encryption for credentials with local-only processing
Your AWS overview in one place
Automatically discover and catalog all AWS resources across multiple regions and services.
Interactive network topology graphs showing resource relationships and dependencies.
Generate production-ready Terraform code from your existing AWS infrastructure.
Identify security vulnerabilities and compliance issues across your infrastructure.
┌─────────────────────────────────────────────────────────────┐
│ Frontend (WebView) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Dashboard │ │ Topology │ │ Terraform │ │
│ │ UI │ │ Visualizer │ │ Generator │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ └─────────────────┴─────────────────┘ │
│ │ │
│ Wails Runtime Bridge (IPC) │
│ │ │
└───────────────────────────┼─────────────────────────────────┘
│
┌───────────────────────────┼─────────────────────────────────┐
│ Backend (Go) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Core Application Layer │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │
│ │ │ App │ │ Auth │ │ Terraform │ │ │
│ │ │ Lifecycle│ │ Handlers │ │ Generator │ │ │
│ │ └────┬─────┘ └────┬─────┘ └────┬─────────────┘ │ │
│ └───────┼─────────────┼─────────────┼────────────────┘ │
│ │ │ │ │
│ ┌───────┼─────────────┼─────────────┼────────────────┐ │
│ │ │ AWS Integration Layer│ │ │
│ │ ┌────▼─────┐ ┌───▼────┐ ┌─────▼──────┐ │ │
│ │ │ Client │ │ Fetch │ │ Topology │ │ │
│ │ │ Init │ │ Engine │ │ Builder │ │ │
│ │ └────┬─────┘ └───┬────┘ └─────┬──────┘ │ │
│ └───────┼────────────┼─────────────┼────────────────┘ │
│ │ │ │ │
│ ┌───────┼────────────┼─────────────┼────────────────┐ │
│ │ │ Infrastructure Layer │ │ │
│ │ ┌────▼─────┐ ┌──▼─────┐ ┌────▼──────┐ │ │
│ │ │ Auth │ │ Models │ │ Logger │ │ │
│ │ │ (AES) │ │ Structs│ │ (slog) │ │ │
│ │ └──────────┘ └────────┘ └───────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
└───────────────────────────┼─────────────────────────────────┘
│
┌───────▼────────┐
│ AWS Cloud │
│ EC2, RDS, S3 │
│ Lambda, VPC... │
└────────────────┘
AES-256-GCM decryption from ~/.stratusphere/credentials.enc
Static credentials provider with region configuration
10-15 concurrent goroutines with sync.WaitGroup
AWS SDK types → Internal model structs
Build DAG of resource relationships
D3.js force-directed graph visualization
git clone https://github.com/doguhanniltextra/aws-stratusphere-dashboard.git
cd aws-stratusphere-dashboard
# Install Go dependencies
go mod download
# Install Wails CLI
go install github.com/wailsapp/wails/v2/cmd/wails@latest
# Verify installation
wails doctor
# Run in development mode with hot reload
wails dev
# Access at http://localhost:34115
# Build for current platform
wails build
# Output: build/bin/Stratusphere.exe (Windows)
# Output: build/bin/Stratusphere.app (macOS)
# Output: build/bin/Stratusphere (Linux)
Attach this policy to your IAM user for read-only access:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "StratusphereReadOnlyAccess",
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeVpcs",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups",
"ec2:DescribeNatGateways",
"ec2:DescribeRouteTables",
"ec2:DescribeAddresses",
"rds:DescribeDBInstances",
"s3:ListBuckets",
"s3:ListAllMyBuckets",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeTargetGroups",
"lambda:ListFunctions",
"ecs:ListClusters",
"ecs:DescribeClusters",
"sts:GetCallerIdentity",
"iam:ListAttachedUserPolicies",
"iam:ListAttachedRolePolicies",
"iam:ListAccountAliases",
"iam:ListMFADevices",
"iam:SimulatePrincipalPolicy",
"cloudwatch:GetMetricData",
"ce:GetCostAndUsage",
"servicequotas:GetServiceQuota",
"securityhub:GetFindings",
"support:DescribeTrustedAdvisorCheckResult"
],
"Resource": "*"
}
]
}
# Run all tests
go test ./...
# Run with coverage
go test -cover ./...
# Generate coverage report
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out
# Integration tests (requires AWS credentials)
export AWS_ACCESS_KEY_ID=xxx
export AWS_SECRET_ACCESS_KEY=yyy
export AWS_REGION=us-east-1
go test -tags=integration ./internal/aws/...
# Windows
wails build -platform windows/amd64
# macOS (Universal Binary)
wails build -platform darwin/universal
# Linux
wails build -platform linux/amd64
# All platforms
wails build -platform windows/amd64,darwin/universal,linux/amd64
# Debug build with verbose logging
wails build -debug -v
# Production build (strip debug symbols)
wails build -ldflags "-s -w"
# With custom icon
wails build -icon appicon.png
# Skip frontend build
wails build -skipbindings
Storage Locations:
Windows: %APPDATA%\.stratusphere\credentials.enc
macOS: ~/Library/Application Support/stratusphere/credentials.enc
Linux: ~/.config/stratusphere/credentials.enc
Error: cgo: C compiler "gcc" not found
Solution (Windows):
# Install MinGW-w64
choco install mingw
# Or download from: https://www.mingw-w64.org/
Solution (macOS):
xcode-select --install
Error: RequestLimitExceeded: Rate exceeded
Exponential backoff is already implemented in internal/aws/fetch.go. If you
continue to experience rate limiting:
Error:
failed to load credentials: cipher: message authentication failed
Causes:
Solution:
# Delete credentials file and re-authenticate
# Linux/macOS
rm ~/.config/stratusphere/credentials.enc
# Windows
del %APPDATA%\.stratusphere\credentials.enc
Checklist:
Describe* permissions?~/.stratusphere/logs/app.log