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.

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.