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.1.tar.gz (9.2 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.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cloud_cartographer-0.0.1.tar.gz
  • Upload date:
  • Size: 9.2 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.1.tar.gz
Algorithm Hash digest
SHA256 2945c95873d7ce6952ca54cf2b07282f3ec213c15cf94829bb0972571eadd7a0
MD5 3566de0a3fe89a662375aa5fadf46764
BLAKE2b-256 2ee911df5fb3f9e76db8ea935ac5db57a61d5dd8c4d9c5521852a88e0f0d1843

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cloud_cartographer-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3c71713770da73e761bc7f0ea848ca8fdabddb4c731a4a8b2c3668042b0eb367
MD5 a1c19585c3ee5e9b05fa83a89e7ffd61
BLAKE2b-256 85c8a43da44bb12a9225a7dbe57795331f2bc5aed0ff77fceabdcdb1f33dd04d

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