Architecture

Overview

APIHUB is described by two models that meet in the middle. The C4 model answers how the platform is built. The capability map answers what it does. Every sub-capability names the container that implements it, and every container appears in the C4 diagrams.

Two models, one source

Architecture documentation usually fails in one of two ways: it describes boxes nobody can map to a repository, or it lists features nobody can map to a runtime. APIHUB is documented from both ends, and the two descriptions are kept consistent by sharing one model file.

Model one · C4

“How is it built?”

Four levels of zoom, from a single box on a context diagram down to the registries and pipelines that matter in the code. Plus a deployment view and three dynamic views.

4 levels 7 containers 3 flows

Model two · capability map

“What does it do?”

A capability is a stable statement of what the platform does, so it survives refactoring. Nine of them, broken down into 60 sub-capabilities with technology and maturity overlays.

9 capabilities 60 sub-capabilities 2 overlays

Where they meet. The technology overlay on the capability map colours each sub-capability by the container that owns it. Change the model once and both descriptions follow — which is why the capability data on this site is imported from the same file that generates the architecture slide deck.

The four levels of C4

Each level answers exactly one question and deliberately hides the detail of the next. If a diagram makes you ask “but what is inside that box?”, the answer is on the level below.

C4 · four levels of zoom, each hiding the detail of the next
The four levels of the C4 model: context, containers, components and code, each one nested inside the previous
L1

Context

Who uses the system and what does it depend on?

One box for all of APIHUB

L2

Containers

Which deployable things exist and how do they talk?

Seven services, three stores

L3

Components

What lives inside one container?

Controllers, services, runners

L4

Code

Which classes and registries actually matter?

Pipelines, maps, plug-ins

The platform in one glance

Seven containers get deployed. A further twelve TypeScript libraries are not deployed on their own, but they are where parsing, diffing and rendering actually happen.

APIHUB Backend

:8080

Go 1.26 · gorilla/mux · go-pg

qubership-apihub-backend

APIHUB UI

:8080

React 18 · MUI 5 · nginx 1.28

qubership-apihub-ui

Build Task Consumer

:3000

Node 24 · NestJS 10

qubership-apihub-build-task-consumer

API Linter Service

:8080

Go 1.26 · Spectral · OpenAI

qubership-api-linter-service

Agents Backend

:8080

Go 1.26

qubership-apihub-agents-backend

APIHUB Agent

:8080

Go 1.26 · client-go

qubership-apihub-agent

Java Task Consumer

:3000

Java 21 · japicmp · jdeps

qubership-apihub-java-task-consumer