The Xray service contains the following microservices:
Indexer: Responsible for the indexing process, including:
Recursively extracting artifacts and builds
Collecting artifact metadata from accompanying files
Building an artifact components graph representation
Persist: Responsibilities include:
Matching the given components graph with the public component information
Completing component naming
Storing graph data and component metadata in PostgreSQL
Analysis: Responsible for enriching component metadata such as vulnerabilities, licenses, and versions.
Server: Responsibilities include:
Generating violations by matching analysis data with watches and policies
Hosting the API and UI endpoints
Running scheduled jobs such as the database synchronization process
Router: Responsible for communication between all the microservices and cross-product.