Skip to main content

Runtime Platform


Runtime Platform

The recommended platform to install and run the JFrog Platform applications on is Kubernetes.

The JFrog Platform should be deployed in Kubernetes using the jfrog-platform helm chart.

Why Kubernetes?

Compared with older install methods (archive, RPM/DEB, Docker Compose, or per-host VM setups), Kubernetes is the better option because:

  1. Unified, cluster-wide deployment: One jfrog-platform Helm chart installs and manages all components across the cluster—unlike host-by-host installs or single-host Docker Compose stacks.
  2. Easy multi-node scaling: Scale pods or resources per service across nodes on demand, without provisioning VMs or being limited to one Compose host.
  3. Safer upgrades: Helm rolling upgrades replace stop-and-start package or Compose recreates, with less downtime and less version drift.
  4. Built-in HA: Pod restarts (AKA auto healing), replicas, and node failover replace custom clustering scripts, manual VM failover, or single-host Compose setups.
  5. Consistent operations: The same charts and practices work on-prem, cloud, or hybrid—avoiding environment-specific install playbooks.

Kubernetes Topology guidelines

For a production grade, high performance and resilience JFrog Platform deployment, see the following guidelines:

  • A dedicated node pool should be allocated for each of the following JFrog applications to best fit their necessary resources and for workload isolation
    • Artifactory
    • Ingress (Nginx or equivalent)
    • Xray
    • Advance Security (JAS)
  • PodAntiAffinity
    • Require Artifactory pods anti-affinity between them
    • Prefer Xray pods anti-affinity between each other
    • Require Xray pods anti-affinity between them and Artifactory pods
    • Require JAS pods anti-affinity between them and Artifactory and Xray pods
    • Require Ingress controller/Nginx pods anti-affinity between them and also Xray and Artifactory pods
      • Best is to use a dedicated node group for Ingress controller pods
    • Prefer Xray RabbitMQ pods anti-affinity between them, Artifactory and Xray pods
    • If running the databases (PostgreSQL) in Kubernetes, it must require pods anti-affinity with all JFrog applications and ingress/nginx pods

Terraform Example

See an example in the JFrog Charts repository, for a Terraform configuration that creates the necessary AWS infrastructure and services required to run the JFrog Platform and follow the guidelines above.