Platform Installation with Helm Charts
Install and configure JFrog Platform Helm chart: licenses, enable products, configure external PostgreSQL database.
This page covers post-install configuration for the JFrog Platform Helm chart. If you have not yet installed, 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, via the REST API, or in the
artifactory.cluster.licensesection, separate licenses with 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 will not 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:
-
To deploy Xray, create a
custom-values.yamlfile with the following content.xray: enabled: true -
Run the upgrade command.
helm upgrade --install jfrog-platform --namespace jfrog-platform --create-namespace jfrog/jfrog-platform -f custom-values.yaml -
Configure each JFrog product separately with the following steps:
-
Copy the configurations to update from the main
values.yamlinto acustom-values.yamlfile. -
Set your custom values in
custom-values.yaml.Any values not present in
custom-values.yamlfall back to the defaults in the mainvalues.yaml. -
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 in $JFROG_HOME/artifactory/var/etc. For more information, see System Configuration. If you do not have a system.yaml file in that folder, copy the template from the same directory and name it system.yaml.
Note
Unlike other installations, you make changes in
values.yaml; Helm applies them tosystem.yaml.To apply configuration changes:
Update
values.yaml.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 only. Configure an alternative supported database before deploying to production.
Customize Java Opts (Optional)
Set JVM parameters using the artifactory.extraJavaOpts property in $JFROG_HOME/artifactory/var/etc/system.yaml. Use the following Java memory parameters:
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 one.
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 podsStream container logs:
kubectl --namespace <your namespace> logs -f <name of the pod> -c <name of the container>Frequently Asked Questions
Q: 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 also work but must not be mixed with the UI method on the same cluster.
Q: 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.
Q: 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.
Updated 9 days ago
