Database and Third-Party Applications in Xray

Xray requires PostgreSQL 13–17.x, RabbitMQ 3.7–4.x, and Erlang 19–27.x. Quorum Queues are mandatory for RabbitMQ 4.x.

Xray has 3 third-party applications: database (PostgreSQL), RabbitMQ, and Erlang.

1. Database

Every artifact and build indexed by Xray is broken down into multiple components. These components and their interrelationships are represented in a checksum-based components graph. Xray uses PostgreSQL to store and query this component's graph.

See the list of compatible PostgreSQL versions for your Xray version before installing.

2. RabbitMQ

RabbitMQ is installed as part of the Xray installation for every node. In an HA architecture, Xray uses queue mirroring and replication between different RabbitMQ nodes.

The recommended installation method uses split mode with a separate 3-node RabbitMQ cluster alongside Xray HA.

JFrog has added support for RabbitMQ Quorum Queues, available as an optional parameter in system.yaml, because RabbitMQ deprecated Classic Queue mirroring in version 4.x.

JFrog will also deprecate Classic Queue support and transition to Quorum Queues. Enable Quorum Queues in Xray, as JFrog plans to fully transition to RabbitMQ 4.x and discontinue Classic Queue support in upcoming versions.

For more details on migrating to Quorum Queues, see Xray RabbitMQ Quorum Upgrade.

3. Erlang

See Install Erlang for supported Erlang versions and installation steps.

Related Topics


Did this page help you?