export the metadata from existing tools, and generate the diagrams
Project description
diagrams-exporters
- in additional to the design phase, diagrams can aslo be used for analysis and monitoring the current architecture.
- to do that, we need to export the 'metadata' from other sources, e.g. terraform, aws cli, etc. then generate the diagrams.
diagrams-exporters export the metadata from existing tools, and generate the diagrams.
Features
:rocket: terraform graph
https://github.com/hashicorp/learn-terraform-no-code-provisioning
https://github.com/hashicorp/learn-terraform-provision-eks-cluster
https://github.com/hashicorp/learn-terraform-multicloud-kubernetes-eks
:construction: awscli scan
- depends on the patterns in diagrams-patterns (e.g. vpc with igw, subnet and nat)
Usage
Install the package:
pipx install diagrams-exporters
terraform graph (only aws supported)
Exectute the following command in your terraform workspace, it will generate terraform graph and export to Diagrams.
diagrams-exporters terraform
# use -d to specify the output directory/file
diagrams-exporters terraform -o diagrams-exported
diagrams-exporters terraform -o dist/diagrams-exported
dot graph (only terraform/aws supported)
If you have existing .dot file
diagrams-exporters dot -f existing.dot
diagrams-exporters dot -f existing.dot -o diagrams-exported
diagrams-exporters dot -f existing.dot -o dist/diagrams-exported
Roadmap
Currently, the diagrams-patterns and diagrams-exporters are built as 'diagrams'-extensions. But since the diagrams is inactive, introducing new tools is a necessary step, e.g. d2.
At that time, the diagrams-patterns should be a standalone tool, which provide a standard DSL to describe the common patterns in cloud architecture (or other kinds of diagrams). Then, you can translate the DSL to different tools, e.g. diagrams, d2, etc.
The diagrams-exporters plays another role to facilitate with productive tools, e.g. terraform, aws cli, etc. It read the metadata, convert to DSL, then generate the diagrams.
A possible structure is:
flowchart BT
subgraph diagram-exporters
terraform-exporter
awscli-exporter
kubectl-exporter
end
subgraph diagrams-patterns
subgraph common-patterns
c4-pattern
layer-arch-pattern
end
subgraph cloud-patterns
aws-pattern
azure-pattern
end
subgraph dsl
dsl-parser
dsl-to-diagrams
dsl-to-d2
dsl-to-mermaid
end
end
diagrams-patterns --> diagram-exporters
diagrams --> diagrams-patterns
d2 --> diagrams-patterns
plantuml --> diagrams-patterns
graphviz --> diagrams
graphviz --> d2
plantuml
Reference
-
graphviz & dot
-
d2
-
read tfstate and generate graph
-
read aws cli and generate graph
-
other terraform interesting tools
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for diagrams_exporters-0.1.0a1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d23f4c6aea6755f00ffc903a4effd92951c0f2226a5cf41936bea403da391852 |
|
MD5 | 9f7cffc48239bf8cd5734727997ffc62 |
|
BLAKE2b-256 | 7ba371112e720c9d74401cfbbea609e665b40bec261f0952d259c2a851d68968 |
Hashes for diagrams_exporters-0.1.0a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a160855c82f16ffa658dcf59d7ee8311ad8734882daa1a14ea7ca5841554e7b1 |
|
MD5 | 0fda21d408d8ebe99d53a10a8899c177 |
|
BLAKE2b-256 | 90f34f556cbafa43d2075d52671825e25d4cd59bf6b9229f96dec6203dace847 |