Architecture

Kroki has a modular architecture and provides multiple components:

Gateway Server

This component is the entry point of Kroki. The server is using Vert.x and will route the request to different services.

Blockdiag

A companion web server written in Python (powered by Flask and Gunicorn) that provides BlockDiag, SeqDiag, ActDiag and NwDiag diagrams libraries.

Mermaid

A companion web server written in JavaScript (powered by micro) that provides Mermaid diagram library.

BPMN

A companion web server written in JavaScript (powered by micro) that provides bpmn-js to render BPMN diagrams.

Excalidraw

A companion web server written in JavaScript (powered by micro) that provides Excalidraw to render diagrams.

Gateway Server

The Docker image contains the following diagrams libraries out-of-the-box:

Diagram Type Version

Bytefield

1.6.0

C4 with PlantUML

1.2021.10

Ditaa

1.3.13

Erd

0.2.1.0

GraphViz

2.40.1

Nomnoml

1.4.0

Pikchr

7269f78c4a

PlantUML

1.2021.10

Structurizr

1.15.0

Svgbob

0.5.3

UMlet

14.3.0

Vega

5.21.0

Vega-Lite

5.1.1

WaveDrom

2.8.1

Companion Servers

BlockDiag

The Docker image contains the following diagrams libraries out-of-the-box:

Diagram Type Version

ActDiag

2.0.0

BlockDiag

2.0.1

NwDiag

2.0.0

PacketDiag

2.0.0

RackDiag

2.0.0

SeqDiag

2.0.0

Mermaid

The Docker image contains the following diagrams libraries out-of-the-box:

Diagram Type Version

Mermaid

8.13.2

BPMN

The Docker image contains the following diagrams libraries out-of-the-box:

Diagram Type Version

bpmn-js

8.7.3

Excalidraw

The Docker image contains the following diagrams libraries out-of-the-box:

Diagram Type Version

Excalidraw

0.1.0