Skip to main content

AWS Cloudformation mapping tool to expose resources managed by Cloudformation and dependencies between stacks via their export/import relations.

Project description

Cloud Cartographer

Cloud Cartographer is a powerful tool for analyzing and visualizing AWS CloudFormation stacks. It provides capabilities to scan your AWS infrastructure, filter stacks by tags, and generate both tabular (markdown) and interactive visualizations of your cloud architecture.

Features

  • Stack Discovery: Scan AWS CloudFormation stacks across multiple regions
  • Tag-based Filtering: Filter stacks based on specific tags
  • Flexible Output: Generate markdown tables with customizable headers
  • Interactive Visualization: Create interactive D3.js-based visualizations of stack relationships
  • Import/Export Mapping: Visualize dependencies between stacks through their import/export relations
  • Multi-region Support: Analyze stacks across multiple AWS regions

Installation

Prerequisites

  • Python 3.x
  • AWS credentials configured
  • Git

Steps

  1. Clone the repository:
git clone https://github.com/vvangestel/cloud-cartographer.git
cd cloud-cartographer
  1. Install the package:
pip3 install .

Note: PyPI installation will be available in future releases.

Usage

Basic Usage

The basic command structure is:

ccarto [-h] [-p PROFILE] [-r REGIONS [REGIONS ...]] [-f FILTER [FILTER ...]] [--headers HEADERS] [-i INPUT]
       [-o OUTPUT] [-v]

Command Line Options

  • -p, --profile PROFILE: Specify the AWS profile to use
  • -r, --regions REGIONS [REGIONS ...]: Specify one or more AWS regions to scan
  • -f, --filter FILTER [FILTER ...]: Filter stacks by tags (format: Key:Value)
  • --headers HEADERS: Custom headers for markdown table output
  • -i, --input INPUT: Skip AWS API calls and use existing JSON data for visualization
  • -o, --output OUTPUT: Specify output filename for JSON graph data (defaults to cloudformation_map.json)
  • -v, --verbose: Enable verbose output

Examples

  1. Scan all stacks in a specific region:
ccarto -r eu-west-1
  1. Filter stacks by tags:
ccarto -f Environment:Production Team:DevOps
  1. Use a specific AWS profile and output to a specific file:
ccarto -p myprofile -o specific_output.json
  1. Generate visualization from existing JSON: (TODO)
ccarto -i existing_data.json

Visualization

The tool includes a D3.js-based visualization component that creates an interactive map of your CloudFormation stacks. To use the visualization:

  1. Generate the JSON output using the tool
  2. Open the included HTML file in a web browser
  3. Explore the interactive visualization of your stack relationships

Contributing

This is a WIP project. Contributions are welcome! Please feel free to submit a Pull Request.

Support

For bugs and feature requests, please create an issue in the GitHub repository.

Roadmap

  • PyPI package publication
  • Enhanced filtering capabilities
  • Enhanced visualization options

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

cloud_cartographer-0.0.2.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

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

cloud_cartographer-0.0.2-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file cloud_cartographer-0.0.2.tar.gz.

File metadata

  • Download URL: cloud_cartographer-0.0.2.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for cloud_cartographer-0.0.2.tar.gz
Algorithm Hash digest
SHA256 d2c18585de64cc1379e53bf758035feefc24099f27219140d345f7eb6f3d242b
MD5 b251c4fc1012e678c1ed69b8c05d0118
BLAKE2b-256 0956340140133c37ba7400a4b2a76b00187bf4b8f98f6b79fd459b02f30f08ac

See more details on using hashes here.

File details

Details for the file cloud_cartographer-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for cloud_cartographer-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ef691ad98de0aa085f20d46629574ead03193b2de12c62f06189421ab6b18b46
MD5 db5e176e1bf814ce07e201bb9bbca82d
BLAKE2b-256 441d95e06acf4ae046baf3a701c71819f812e9b563cf60667cff2a400309175f

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