Supported Configurations in Distribution System YAML

JFrog Installation & Setup Documentation

Content Type
Installation & Setup
ft:sourceType
Paligo

The Distribution system YAML contains shared configurations, Distribution Operational microservices configurations, and router configuration.

Shared Configurations

## JFrog Distribution config file.
## To comment-out any field and keep correct yaml indentation simply delete the leading '#' character.

configVersion: 1

## NOTE: JFROG_HOME is a place holder for the actual root of the deployed product.
## You should replace JFROG_HOME with the real path!
## For example, in RPM install, JFROG_HOME=/opt/jfrog

## NOTE: Sensitive information like passwords and join key are encrypted on first read.
## NOTE: The provided commented key and value is the default.

## A shared section for keys across all services in this config
shared:

  ## Java 11 distribution to use
  #javaHome: "JFROG_HOME/distribution/app/third-party/java"

  ## Base URL of the JFrog Platform Deployment (JPD)
  ## This is the URL to the machine where JFrog Artifactory is deployed, or the load balancer pointing to it. It is recommended to use DNS names rather than direct IPs.
  ## Examples: "http://jfrog.acme.com or http://10.20.30.40:8082"
  #jfrogUrl:

  ## Shared security configuration
  security:
    ## Join key value for joining the cluster (takes precedence over 'joinKeyFile')
    #joinKey: ""

    ## Join key file location
    #joinKeyFile: "JFROG_HOME/distribution/var/etc/security/join.key"

    ## Master key file location
    ## Generated by the product on first startup if not provided
    #masterKeyFile: "JFROG_HOME/distribution/var/etc/security/master.key"

    ## Maximum time to wait for key files (master.key and join.key)
    #bootstrapKeysReadTimeoutSecs: 120

  ## Shared logging configuration
  logging:
    consoleLog:
      ## If true, all services' console logs will be redirected to a common console.log
      #enabled: true

    ## Log rotation settings
    rotation:
      ## The max file size at which enforce rotation
      #maxSizeMb: 25

      ## The number of backup files to maintain
      #maxFiles: 10

      ## Whether to compress the backup file
      #compress: true

  ## Shared node settings
  node:
    ## A unique id to identify this node.
    ## Default: auto generated at startup.
    #id: "distribution1"

    ## Default: auto resolved by startup script
    #ip:

  ## PostgreSQL database used by distribution
  database:
    #type: postgresql
    #driver: org.postgresql.Driver
    #url: jdbc:postgresql://localhost:5432/distribution
    #username: distribution
    #password: password

    ## Max connections to the database the main connection pool can consume
    #maxOpenConnections: 100

    ## Max idle connections to keep in the connection pool
    #maxIdleConnections: 10

  ## Redis server used by distribution services
  redis:
    #connectionString: "redis://localhost:6379"
    #username:
    #password: password
    #socketTimeoutMillis: 120000
    #resourcePoolMaxSize: 200
    #resourcePoolMaxWaitMillis: 60000

  ## Add any custom environment variables to be passed to all the services
  ## Environment variables starting with JF_ are not allowed, will be ignored with a warning if it is added
  env:
    #EXAMPLE_VAR: example-value
    #LD_LIBRARY_PATH: /usr/lib64

Distribution Operational Microservices

## Distribution template
distribution:
  #port: 8080

## Extra Java options to pass to the JVM. These values add to or override the defaults.
#extraJavaOpts: "-Xms3g -Xmx4g"

## Add any custom environment variables to be passed to this service
## Environment variables starting with JF_ are not allowed, will be ignored with a warning if it is added
env:
  #EXAMPLE_VAR: example-value
  #LD_LIBRARY_PATH: /usr/lib64

Router

## Router template
router:
  ## Profiling related settings
  profiling:
    ## Enable profiling endpoints
    #enabled: true

  ## Corporate proxy related settings
  proxy:
    ## Proxy url for all outgoing http requests
    #httpUrl: ""

    ## Proxy url for all outgoing https requests
    #httpsUrl: ""

    ## List of target hosts to communicate with directly, bypassing the proxy.
    ## "localhost" will always be added to this list automatically.
    #ignoredHosts:
    #- "ignore.me.com"
    #- "ignore.me2.com"

  ## Router entry points
  entrypoints:
    ## The internal port, used by local services to communicate with the router and any other service (local and external)
    #internalPort: 8046

    ## The external port, registered in the service registry, used by external services to communicate with services in this node
    #externalPort: 8082

    ## An internal port used for internal Traefik (and Router) REST API
    #traefikApiPort: 8049

    ## An internal port used for Router's gRPC API
    #grpcPort: 8047

  ## Service registry (Access) communication settings
  serviceRegistry:

    ## Service registry (Access) TLS verification skipped if enabled
    #insecure: false

    ## Service registry (Access) request timeout
    #requestTimeout: 15s

  ## Topology related settings
  topology:
    ## Local topology settings
    local:
      ## Settings for checking the health of local services
      healthCheck:
        ## Duration between health checks
        #interval: 5s

        ## Health check request timeout
        #requestTimeout: 5s

        ## The number of consecutive successful health checks that must occur before declaring an instance healthy
        #healthyThreshold: 2

        ## The number of consecutive failed health checks that must occur before declaring an instance unhealthy
        #unhealthyThreshold: 2

    ## External topology settings
    external:
      ## Settings for refreshing the router with external topology from the service registry
      refresh:
        ## Refresh interval
        #interval: 3s

        ## The maximum duration a service can be considered as healthy since its last heartbeat
        #maxStaleHeartbeat: 30s

  ## Support bundle aggregation settings
  supportBundle:
    ## The maximum duration support bundle aggregation is allowed before it is automatically cancelled
    #aggregationTimeout: 1h

  ## Logging settings
  logging:
    ## Router log settings
    application:
      ## The log level: error, warning, info, debug, trace
      #level: "info"

      ## The log format: jftext, json
      #format: "jftext"

      ## Whether to include the caller information (runtime frame)
      #caller: false

      ## Whether to print the log also to stdout
      #console: true

      ## Log rotation settings
      rotation:
        #compress: true
        #maxSizeMb: 25
        #maxAgeDays: 0
        #maxFiles: 10

    ## Traefik log settings
    traefik:
      ## The log level: error, warning, info, debug, trace
      #level: "info"

      ## The log format: jftext, json
      #format: "jftext"

      ## Whether to include the caller information (runtime frame)
      #caller: false

      ## Whether to print the log also to stdout
      #console: true

      ## Log rotation settings
      rotation:
        #compress: true
        #maxSizeMb: 25
        #maxAgeDays: 0
        #maxFiles: 10

    ## Request log settings
    request:
      ## If true, request log will contain additional information
      ## This may result in a slight performance overhead
      #verbose: false

      ## Log rotation settings
      rotation:
        #compress: true
        #maxSizeMb: 100
        #maxAgeDays: 0
        #maxFiles: 10

  ## Add any custom environment variables to be passed to this service
  ## Environment variables starting with JF_ are not allowed, will be ignored with a warning if it is added
  env:
    #EXAMPLE_VAR: example-value
    #LD_LIBRARY_PATH: /usr/lib64