-
Notifications
You must be signed in to change notification settings - Fork 5
Home
This is a Wiki contains documentation and materials related to Qubership-APIHUB product and its ecosystem.
Here we store User documentation, design articles, test cases architecture notes and so on.
Please see table of content on the right side.
Application status: Production ready
APIHUB itself is an application (k8s native, microservice architecture based) implements Dev Portal functionality in API Management domain.
For more details please refer to main APIHUB application repository: https://github.com/Netcracker/qubership-apihub
During APIHUB development and evolution some extra applications were created.
Overall architecture diagram:

qubership-apihub-agent is a golang application (microservice) providing the following features:
Designed for k8s deployment; requires ClusterView permissions
Uses the k8s API and can execute HTTP calls to cluster services
Discovers API specifications (OpenAPI, GraphQL, AsyncAPI, Markdown, JSON Schema, unknown/generic) exposed by services, with optional apihub-config for explicit URLs
Integrates with Qubership-APIHUB via Agents Backend
https://github.com/Netcracker/qubership-apihub-agent
The qubership-api-linter-service is a Golang-based microservice that provides REST APIs for linting and validating API specifications (OpenAPI and AsyncAPI via Spectral, plus configurable rulesets). It serves as a quality control tool for API definitions. Linting approaches: Spectral (CLI) and optional AI/OpenAI-based review for OpenAPI. After lint tasks complete, the service can compute a version-level quality score and expose it via GET .../scoring (see service API spec in the repository).
https://github.com/Netcracker/qubership-api-linter-service
"Cloud Wireshark". Contains two parts:
sniffer-agent - DaemonSet for k8s which works on hostNetwork level and collects all network packets to S3 storage
traffic-analyzer - A service to load, analyze and make reports on the captured packet data. qubership-apihub-traffic-analyzer is intended to use as web-service in connection with qubership-apihub-sniffer-agent.
- https://github.com/Netcracker/qubership-apihub-sniffer-agent
- https://github.com/Netcracker/qubership-apihub-traffic-analyzer

- Architecture landscape — system diagram, microservices, TS library stack, API type matrix, deployment
- Features list — product capabilities, AsyncAPI/scoring/shareability, agents, limitations
Comprehensive description of aspects of Qubership APIHUB development.
Mandatory for reading for new team members.
TODO
Processes description
Architecture & system design articles
Design Items
- AsyncAPI
- AsyncAPI DocView
- Navigation to APIHUB (log in / log out)
- Create Workspace
- Create Group
- Create Package
- Favorite packages, dashboards, groups, workspaces
- Shared Packages
- Activity History in Main Page
- Personal private workspace
- Version summary
- Revision History
- Package Activity History
- Manage Manual Operations Group
- Export Operations Group (reduced source specifications)
- Export Operations Group (combined specification)
- Export List of Operations in Excel
- Search and Filter Operations
- List of Operations
- List of Operations Groups
- Manage REST Path Prefix Group
- Activity History
- List of Deprecated Operations
- Export List of Changes in Excel
- Human‐readable description for deprecated items for OpenAPI 3.0
- List of Documents
- OpenAPI Document Overview
- Copy Package Version
- Export Package Version
- Export Document from Package Version
- Export List of Deprecated Operations in Excel
- API Quality Validation Result
- Export of discrepancy analysis results for arbitrary package versions in Excel
- AI Recommendations Tab
- Ruleset Severity Downgrade
- Document Shareability
- General Settings
- Package versions list
- Access Tokens Management
- Delete Package
- Default Release Version
- Define Release Version Pattern