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.