Skip to content

Commit

Permalink
docs: updated project details
Browse files Browse the repository at this point in the history
  • Loading branch information
tsypuk committed May 14, 2023
1 parent 53cbb5f commit 3cc1796
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 1 deletion.
54 changes: 54 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
MultiCloud Diagrams is a package for generating and rendering Diagrams-As-a-Code (DAG) in popular drawio format for different Cloud providers.

- you can use it by defining ``Diagrams as a Code``, compile to drawio vector format, edit vector drawio representation (align components location).
- other option is to query infrastructure elements with popular libraries, like aws boto, preprocess desired elements and compile them into drawio using ``multicloud-diagrams``.


- **Source code:** https://github.com/tsypuk/multicloud-diagrams
- **PyPI multicloud-diagrams:** https://pypi.org/project/multicloud-diagrams/
- **Sponsor project:** https://patreon.com/tsypuk
- **View changelog:** https://github.com/tsypuk/multicloud-diagrams/blob/main/CHANGELOG.MD
- **Bug reports:** https://github.com/tsypuk/multicloud-diagrams/issues
- **Samples and examples:** https://github.com/tsypuk/multicloud-diagrams/tree/main/samples/samples

### Features:
- allows to generate drawio diagram with predefined styles for popular aws services, support graph-based connection with named edges
- supports single and batch elements append to diagram
- duplicates detection to prevent ball of mud in file format and diagram
- verification that both vertices present on diagram when adding edge connection between them
- if the node is not present, fallback to default icon when rendering
- read previous version of drawio file and reuses existing vertices coordinates when generating a new version

### Supported AWS services:

- lambda_function
- sqs
- sns
- iam_role/iam_policy/iam_permission
- dynamo/dynamo_stream
- api_gw
- s3
- kms
- ssm

### Examples
Generating `drawio` diagrams from the code (Diagrams as a Code) for popular Amazon Web Services:

#### AWS DynamoDB Details

- Source [aws_dynamo.py](samples/samples/aws_dynamo.py)

- Output compiled [drawio diagram](samples/output/output.prod.dynamo.drawio):

![output.prod.dynamo.png](samples/output/png/output.prod.dynamo.png)

#### AWS IAM Graph

- Source [aws_dynamo.py](samples/samples/aws_dynamo.py)
- Output compiled [drawio diagram](samples/output/output.prod.iam-roles.drawio)

![output.prod.iam-roles.png](samples/output/png/output.prod.iam-roles.png)

### FYI:

OpenSource Guide, [How to contribute to opensource](https://opensource.guide/)
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "multicloud-diagrams"
version = "0.2.1"
version = "0.2.2"
description = "Library to generate DRAW.IO compatible diagrams to represent Cloud infrastructure. AWS Cloud supported."
authors = ["Roman Tsypuk <tsypuk.conf@gmail.com>"]
license = "MIT"
Expand Down
Binary file added samples/output/png/output.prod.dynamo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added samples/output/png/output.prod.iam-roles.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 3cc1796

Please sign in to comment.