Xray includes 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 the data in the relevant databases (graph data in PostgreSQL and component metadata in MongoDB)
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