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.5.0

C4 with PlantUML

1.2021.8

Ditaa

1.3.13

Erd

0.1.3.0

GraphViz

2.40.1

Nomnoml

1.4.0

Pikchr

7269f78c4a

PlantUML

1.2021.8

Svgbob

0.4.2

UMlet

14.3.0

Vega

5.20.2

Vega-Lite

5.1.0

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.11.0

BPMN

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

Diagram Type Version

bpmn-js

8.7.1

Excalidraw

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

Diagram Type Version

Excalidraw

0.1.0