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.