Infrastructure Customization

JFrog Installation & Setup Documentation

Content Type
Installation & Setup
ft:sourceType
Paligo
Artifactory Memory and CPU Resources

The Artifactory Helm chart comes with support for configured resource requests and limits to Artifactory, Nginx and PostgreSQL. By default, these settings are commented out. It is highly recommended to set these so you have full control of the allocated resources and limits. Artifactory java memory parameters can (and should) also be set to match the allocated resources with artifactory.javaOpts.xms and artifactory.javaOpts.xmx.

Artifactory

# Example of setting resource requests and limits to all pods (including passing java memory settings to Artifactory)
artifactory:
 javaOpts:
   xms: "1g"
   xmx: "4g"
 resources:
   requests:
     memory: "1Gi"
     cpu: "500m"
   limits:
     memory: "4Gi"
     cpu: "2"
nginx:
 resources:
  requests:
    memory: "250Mi"
    cpu: "100m"
  limits:
    memory: "500Mi"
    cpu: "250m"

Artifactory HA

# Example of setting resource requests and limits to all pods (including passing java memory settings to Artifactory)
artifactory:
 primary:
   resources:
    requests:
      memory: "1Gi"
      cpu: "500m"
    limits:
      memory: "4Gi"
      cpu: "2"
 node:
   resources:
    requests:
      memory: "1Gi"
      cpu: "500m"
    limits:
      memory: "4Gi"
      cpu: "2"
   javaOpts:
     xms: "1g"
     xmx: "4g"
initContainers:
 resources:
  requests:
    memory: "64Mi"
    cpu: "10m"
  limits:
    memory: "128Mi"
    cpu: "250m"
postgresql:
 resources:
  requests:
    memory: "512Mi"
    cpu: "200m"
  limits:
    memory: "1Gi"
    cpu: "1"
nginx:
 resources:
  requests:
    memory: "250Mi"
    cpu: "100m"
  limits:
    memory: "500Mi"
    cpu: "250m"

Note

Although it is possible to set resources limits and requests this way, it is recommended to use the pre-built values files for small, medium and large installation and change them according to your needs if necessary.

Custom Docker Registry

If you need to pull your Docker images from a private registry, you will need to create a Kubernetes Docker registry secret and pass it to Helm during installation/upgrade.

# Create a Docker registry secret called 'regsecret'
kubectl create secret docker-registry regsecret --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

helm upgrade --install artifactory --set imagePullSecrets=regsecret --namespace artifactory jfrog/artifactory