Install the JFrog Platform using Helm Chart

Post-install configuration for the JFrog Platform Helm chart: license installation, enabling products, product configuration, and external PostgreSQL.

This page covers post-install configuration for the JFrog Platform Helm chart. If you haven't installed yet, start with the Helm Quick Start.

For license requirements by product combination, see the License Matrix.

Install the License

Choose one of these methods to install the JFrog Platform license. Use only one method — switching methods while the cluster is running may disable the Artifactory HA cluster:

  • Artifactory UI (recommended) — once the primary cluster is running, insert licenses via the UI.
  • REST API — use the Install License API.
  • Kubernetes Secret — create a Secret from a license file, or embed it inline in the Helm release. Applies to initial deployment only.
Add Licenses

To activate Artifactory HA, install an appropriate license.

📘

Specify multiple licenses

Whether in the Artifactory UI, using the REST API, or in the artifactory.cluster.license section, ensure that the licenses are separated by a newline.

⚠️

Warning

Use only one of these methods. Switching between them while a cluster is running might disable your Artifactory HA cluster.

Select a method below for step-by-step instructions.

Once the primary cluster is running, open the Artifactory UI and insert the license(s).

Enter all licenses at once, each separated by a newline. Adding them one at a time can redirect you to an unlicensed node where the UI won't load.

This method applies to initial deployment only — once Artifactory is deployed, update the license via the UI or REST API.

Enable Additional Products

The JFrog Platform Helm chart lets you enable or disable products after your initial install using a custom-values.yaml file and a helm upgrade command.

For example:

  1. To deploy Xray, create a custom-values.yaml file with the following content.

    xray:
      enabled: true
  2. Run the upgrade command.

    helm upgrade --install jfrog-platform --namespace jfrog-platform --create-namespace jfrog/jfrog-platform  -f custom-values.yaml
  3. Configure each JFrog product separately with the following steps:

    1. Copy the configurations to update from the main values.yaml into a custom-values.yaml file.

    2. Set your custom values in custom-values.yaml.

      Any values not present in custom-values.yaml fall back to the defaults in the main values.yaml.

    3. Run the upgrade command.

      helm upgrade --install jfrog-platform --namespace jfrog-platform --create-namespace jfrog/jfrog-platform  -f custom-values.yaml
📘

Note

If you install Xray with the JFrog Platform charts, the RabbitMQ vhost is named "xray". The standalone Xray Helm chart sets "/" as the RabbitMQ vhost.

JFrog Platform Product Configuration

Apply any of the following configurations after installation:

System YAML Configuration File

Configure all system settings using the system.yaml file located in the $JFROG_HOME/artifactory/var/etc folder. For more information, see System Configuration. If you don't have a System YAML file in your folder, copy the template available in the folder and name it system.yaml.

📘

Note

Unlike other installations, Helm chart configurations are made to the values.yaml and are then applied to the system.yaml.

To apply configuration changes:

  1. Make the changes to values.yaml.

  2. Run the following command.

    helm upgrade --install <jfrog product> --namespace <jfrog product> -f values.yaml

Database

The JFrog Platform Helm chart includes a bundled PostgreSQL database for evaluation use. The bundled database is not suitable for production — configure an alternate supported database before deploying.

Customize Java Opts (Optional)

Set JVM parameters using the artifactory.extraJavaOpts property in $JFROG_HOME/artifactory/var/etc/system.yaml. Set Java memory parameters as follows:

Scale -Xms and -Xmx with repository size and concurrent user count. With at least 512 MB reserved for Artifactory, the recommended minimal values are:

-server -Xms512m -Xmx2g -Xss256k -XX:+UseG1GC

For more recommendations about your hardware configuration, especially the -Xmx parameter, see System Requirements.

Additional Settings

Use additional settings to customize ports, join keys, and master keys. See joinKey (join.key) and masterKey (master.key).

Configure Filestore

By default, Artifactory uses the local file system for storage. It supports additional filestore configurations for cloud storage, custom binary providers, and redundancy.

Use an External PostgreSQL Database in the JFrog Platform Installation

Configure the JFrog Platform to use an external PostgreSQL database instead of the bundled PostgreSQL database.

Create a values-external-postgresql.yaml file with the following YAML configuration.

global:
  database:
    initDBCreation: false
postgresql:
  enabled: false
artifactory:
  database:
    type: postgresql
    driver: org.postgresql.Driver
    url: 'jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/${ARTIFACTORY_DATABASE}'
    user: ${ARTIFACTORY_DATABASE_USER}
    password: ${ARTIFACTORY_DATABASE_PASSWORD}
xray:
  database:
    url: 'postgres://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/${XRAY_DATABASE}?sslmode=disable'
    user: ${XRAY_DATABASE_USER}
    password: ${XRAY_DATABASE_PASSWORD}
distribution:
  database:
    url: 'jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/${DISTRIBUTION_DATABASE}?sslmode=disable'
    user: ${DISTRIBUTION_DATABASE_USER}
    password: ${DISTRIBUTION_DATABASE_PASSWORD}

Set postgresql.enabled=false in the YAML file and provide the external database details. Create the database and users before running the Helm install or upgrade command.

For more information, see Using an External Database.

Access Logs

List pods to find the pod name:

kubectl --namespace <your namespace> get pods

Stream container logs:

kubectl --namespace <your namespace> logs -f <name of the pod> -c <name of the container>

Frequently Asked Questions

❓ What is the recommended method for installing a JFrog Platform license via Helm?

A: The Artifactory UI is the recommended method. Once the primary cluster is running, open the Artifactory UI and insert all licenses at once, separated by newlines. The REST API and Kubernetes Secret methods are also supported but must not be mixed with the UI method on the same cluster.

❓ Can I switch license installation methods after deploying?

A: No. Use only one method per cluster. Switching between the Artifactory UI, REST API, and Kubernetes Secret while the cluster is running may disable the Artifactory HA cluster.

❓ How do I enable JFrog Xray after a JFrog Platform Helm installation?

A: Create a custom-values.yaml containing xray: enabled: true and run helm upgrade --install jfrog-platform jfrog/jfrog-platform --namespace jfrog-platform --create-namespace -f custom-values.yaml.