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.5.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.5-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cloud_cartographer-0.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 45f77eb87433c2e9be0b85ea5e1b334cf01882855b5a1b27e089fa7d619c95ff
MD5 c07e39995ddd2536278873dd3e63cb85
BLAKE2b-256 9d81fc7eb7eaec04cd100195862b30073ae395169a3a20e9d3751b312621b231

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cloud_cartographer-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 398ab3ddbf3d67542a5e59e2f23eed7554100c2e7eb381c677dbe60225c04b54
MD5 40509314b4a88abb5fa216b30fc4855a
BLAKE2b-256 332ff3997016e103dcfb9c0c873b5d3d6bb4ae4f51161d0376593f87b61178ed

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