Home

Awesome

ibmdiagrams

collage

Overview

Generate architecture diagrams following IBM Diagram Standard.

Input is Python or Terraform with output to drawio file.

Python usage example:

Terraform usage example:

<!-- - ibmdiagrams --general cloud.tfstate - General output to cloud.drawio -->

Refer to Guides for complete details.

<b><i>Note: Early release for testing - externals are subject to change.</i></b>

<details><summary>Benefits</summary>

Diagram as Code

Terraform

</details> <details><summary>Features</summary>
  1. Diagrams generated by ibmdiagrams follow the IBM Diagram Standard using IBM Color Palette and IBM Plex Fonts.
  2. Sidebars:
  1. Shapes:
  1. Selecting within non-containers:
  1. Labels:
  1. Fill colors:
  1. Connectors (in progress):
</details> <details><summary>Limitations</summary>
  1. diagram-as-code in general does not have a mechanism for groups spanning other groups (e.g. in ibmdiagrams the same security group in two subnets has to be coded as two separate security groups with the same name) - improving this to some extent is a future consideration. Similarly, manually creating diagrams can be problematic since all of the possible combinations can be difficult to represent.

  2. Connectors are direct point-to-point with the plan to improve the layout and flexibility. Similarly, manually creating connectors requires diligence to lay out connectors to not overlap and using properties such as edgeStyle=orthogonalEdgeStyle, etc.

</details>

Guides

  1. Setup
  2. Diagram as Code
  3. Terraform

License

This application is licensed under the Apache License, Version 2. Separate third-party code objects invoked by this application are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 and the Apache License, Version 2.