System Configuration

JFrog Installation & Setup Documentation

Content Type
Installation & Setup
ft:sourceType
Paligo

One of the easiest ways to configure your JFrog Platform and products is by customizing the YAML files that are installed with the system when it is deployed in your environment. JFrog supports several types of configuration files, each with its own purpose. To make it easier for you to understand how and when to use these different files, this article details the different files being used, their purpose, and where they are located. This article also lists the different places where you will find these files documented in the JFrog documentation.

Before you begin configuring your system, it is important to understand the different file types and their purposes.

Configuration versus Config Descriptor Files

Configuration files, also known as yaml or .yml extension files, are files that are installed with your system, and come with pre-defined defaults. While you can leave these defaults in place, the yaml files also provide you with a rich array of configuration options that allow you to customize your system configuration.

Config descriptor files, which have an .xml extension, are system files that contain the system definitions. For example, artifactory.config.xml contains the basic information on your system when it gets installed. This file should not be changed, as a rule, because any errors introduced into the file can cause the system not to work properly. However, you can use this file to bootstrap another server in your system, by copying the system information to the additional server. The binarystore.xml, meanwhile, contains the information on the filestore that is installed with your system.

system.yaml files

Each JFrog Platform product is installed with a system.yaml file, which is the main configuration file for that product, enabling you to set the main configurations you wish to apply. Each product also includes the following variations on the system.yaml file:

  • system.basic-template.yaml includes the most commonly used system configurations and is identical to the system.yaml after a fresh installation

  • system.full-template.yaml includes a list of all available configurations

One additional variation on the system.yaml file is the values.yaml file, which is specific to Helm installations only. Unlike other installations, Helm Chart configurations are made to the values.yaml and are then applied to the system.yaml.

Using the system.yaml File

By default, the system.yaml file applies the default settings included with a fresh installation. A double ## marks a comment or a note, while a single # indicates a parameter that the customer can customize.

Removing the single # means the parameter becomes active and gets the default value set in the file. To change this value, simply enter a different value for the parameter.

Configuration YAML files

In addition to the system.yaml file, the JFrog Platform also includes configuration YAML files that are used to modify Access and and the application configuration.

Configuration Files by Product

Artifactory

File Name

Description/Location

Used in...

system.yaml

This is the main configuration file for JFrog Artifactory, enabling you to set the main configurations you wish to apply.

$JFROG_HOME/artifactory/var/etc/artifactory

Installing Artifactory

Artifactory System YAML

Replicator

MySQL

Oracle

Microsoft SQL Server

PostgreSQL

MariaDB

Filestore Sharding

IPv6 Support

values.yaml

This file is used to configure Artifactory in Helm installations. Unlike other installations, Helm Chart configurations are made to the values.yaml and are then applied to the system.yaml.

Installing Artifactory

Helm Charts for Advanced Users

configuration.yml

Once you have configured your YAML file to include all the configuration changes needed, you can apply them by sending a PATCH request to <host>:<port>/api/system/configuration.

Artifactory YAML Configuration

artifactory.config.import.yml

When Artifactory is bootstrapped for the first time, it stores a copy of its initial configuration under $JFROG_HOME/artifactory/var/etc/artifactory/artifactory.config.<timestamp>.yml regardless of whether it was bootstrapped using the Onboarding Wizard, or using a YAML configuration file. To use this configuration to bootstrap additional Artifactory instances, copy the file into the new instance's $JFROG_HOME/artifactory/var/etc/artifactory folder and rename it to artifactory.config.import.yml.

$JFROG_HOME/artifactory/app/misc/artifactory.config.template.yml

Artifactory Bootstrap YAML File

binarystore.xml

This file provides you with flexible filestore management capabilities. By modifying this file you can implement a variety of different storage configurations. These include basic and customizable local and network based file-systems, cloud storage, as well as redundant storage.

$JFROG_HOME/artifactory/var/etc/artifactory

This file provides you with flexible filestore management capabilities. By modifying this file you can implement a variety of different storage configurations. These include basic and customizable local and network based file-systems, cloud storage, as well as redundant storage. 

Configuring the Filestore

Installing Artifactory

Upgrading Artifactory

Helm Charts for Advanced Users

Configuration Files

artifactory.config.xml

This global Artifactory file is used to provide a default set of configuration parameters. The fileis loaded by Artifactory during initial startup. Once the file is loaded, Artifactory renames it to artifactory.config.bootstrap.xml and from that point on, the configuration is stored internally in Artifactory's storage. This ensures Artifactory's configuration and data are coherently stored in one place making it easier to back up and move Artifactory when using direct database backups. On every startup, Artifactory also writes its current configuration as a backup.

$JFROG_HOME/artifactory/var/etc/artifactory/artifactory.config.xml

Configuration Files

Artifactory Configuration DescriptorsArtifactory Configuration Descriptors

Artifactory REST APIIntroduction to the Artifactory REST APIs

artifactory.xsd

Unlike the default artifactory.config.xmlArtifactory Configuration Descriptors, which can be used as an example, but it does not contain all the fields), the Artifactory artifactory.xsd file contains all of the fields and descriptions available for Artifactory.

Artifactory Configuration XSDArtifactory Configuration XSD

Xray

File Name

Description/Location

Used in...

system.yaml

This is the main configuration file for JFrog Xray, enabling you to set the main configurations you wish to apply.

$JFROG_HOME/xray/var/etc/

Installing Xray

Xray System YAML

values.yaml

This file is used to configure Xray in Helm installations. Unlike other installations, Helm Chart configurations are made to the values.yaml and are then applied to the system.yaml.

Installing Xray

Helm Charts for Advanced Users

Insight

File Name

Description/Location

Used in...

system.yaml

This is the main configuration file for JFrog Insight, enabling you to set the main configurations you wish to apply.

Installing Artifactory Edge

Mission Control System YAML

values.yaml

This file is used to configure Insight in Helm installations. Unlike other installations, Helm Chart configurations are made to the values.yaml and are then applied to the system.yaml.

Installing Artifactory Edge

Helm Charts for Advanced Users

Distribution

File Name

Description/Location

Used in...

system.yaml

This is the main configuration file for JFrog Distribution, enabling you to set the main configurations you wish to apply.

Installing Distribution

Distribution System YAML

values.yaml

This file is used to configure Distribution in Helm installations. Unlike other installations, Helm Chart configurations are made to the values.yaml and are then applied to the system.yaml.

Installing Distribution

Helm Charts for Advanced Users

distribution.config.yml

This yaml configuration file offers an alternative way to specify your initial settings for Distribution. To get you up and running as quickly and easily as possible for a new installation, you can configure your basic initial setup through the filesystem, before starting Distribution for the first time. Note that any edits will apply to the whole Distribution cluster.

Note

Modifying the Distribution configurations is an advanced feature, and if done incorrectly may render the Distribution service in an undefined and unusable state. Since it is easy to overwrite configurations, we strongly recommend backing up the configuration before making any direct changes, and taking great care when doing so.

$JFROG_HOME/distribution/var/etc/distribution/

Distribution Application Config YAML File

Pipelines

File Name

Description/Location

Used in...

system.yaml

This is the main configuration file for JFrog Pipelines, enabling you to set the main configurations you wish to apply.

Installing Pipelines

Pipelines System YAML

values.yaml

This file is used to configure Pipelines in Helm installations. Unlike other installations, Helm Chart configurations are made to the values.yaml and are then applied to the system.yaml.

Installing Pipelines

Helm Charts for Advanced Users

Access Configuration File

File Name

Description/Location

Used in...

access.config.yml

Access provides a flexible means of configuration using a simple YAML configuration file. You can make a single change at a time or multiple configuration changes as needed, to create, update and delete any elements in Access.

$JFROG_HOME/artifactory/var/etc/access

Access YAML Configuration