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]
       [-j JSON] [-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:Value1,Value2,Value3,...)
  • --headers HEADERS: Custom headers for markdown table output
  • -i, --input INPUT: Skip AWS API calls and use existing JSON data for visualization
  • -j, --json JSON: Specify output filename for JSON graph data (defaults to cloudformation_map.json)
  • -o, --output OUTPUT: Specify output filename for README file (defaults to README.md)
  • -t, --title TITLE: Specify title of generated markdown document (defaults to Cloud Cartographer Table)
  • -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.4.tar.gz (9.3 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.4-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cloud_cartographer-0.0.4.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for cloud_cartographer-0.0.4.tar.gz
Algorithm Hash digest
SHA256 5305dedc626e7ca6a91f7bea7881a57b51b6daea21062a85c5393fd150442bb2
MD5 87ec8f746443f8ec82f98a468639d8dc
BLAKE2b-256 afc997969e8ff97b3aab9064823c82ef7240a590fc2a7941be1de4d6d8d7c4f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cloud_cartographer-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6dac4c4a88cd62c3c838100f907bf803078da7a0b4bac12c53f66f917b638139
MD5 5e9cf0c4bc346cf377f20ac7dfbdcfef
BLAKE2b-256 6859596313700a974c2e430f7164b9992934239e2d89ca8e148d82c02185679d

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