Architecture

The following diagram illustrates the general system deployed on top of a Kubernetes cluster.

arch

Actors

User CLI represents a single type of consumer. The command line interface (CLI) allows individuals to explore data stored in deps.cloud. Other types of clients include processes written using one of our SDKs.

Gateway is the face of the API services. It provides both RESTful and gRPC interfaces to clients of the system. Not all functionality is available over the RESTful interface.

Tracker provides several APIs for navigating the graph. This service leverages systems like as SQLite, MySQL, or PostgreSQL to store the graph data.

Extractor extracts dependency information from manifest files. This mechanism is easily pluggable to support a large range of manifest files.

The indexer crawls repositories looking for manifest files. When it discovers manifests, the contents are extracted, stored, and indexed.


Last modified October 26, 2020: darken up lines (141fe72)