Distribution System YAML
Configure JFrog Distribution using system.yaml with key-entity structure for shared and microservice-specific settings.
The Distribution system YAML file contains all configurable parameters.
The YAML file is constructed with keys and entities, using the following
key: [entity] format.
- Shared configurations specified under the shared section are used by all microservices.
- Microservice-specific configurations are set under each microservice section and override similar shared configurations for that microservice.
Tip
Use the templates available under
$JFROG_HOME/distribution/var/etc/
system.basic-template.yamlincludes most commonly used system configurationssystem.full-template.yamlincludes a list of all available configurations
Distribution System YAML File
The Distribution system YAML is divided into several sections, as described below.
Shared Configurations
## SHARED CONFIGURATIONS
## 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: "XXX"
## 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:
## Default: auto resolved by startup script
#name: ""
## 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: 10Distribution 2.37.0 and later:
Redis has been removed from the Distribution installer and replaced by an internal in-memory system. For more details, see the Distribution 2.37.0 release notes.
## 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
## Run as a given user and group
## Note : This is only considered in linux archive installation which is installed as a service
## Make sure to change ownership of JFROG_HOME/distribution/app and JFROG_HOME/distribution/var directory, if this is modified after install
#user: distribution
#group: distributionDistribution Template
## 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/lib64Distributor Template
## Distributor template
distributor:
## Max open http connection allowed from the distributor to the distribution
#maxHttpConnections: 1000
## Foreman configuration
foreman:
## Use redis or in-memory foreman task management the default is false
#useRedis: false
## Max number of threads to use for each cpu
#executorFactor: 2
## Snooze time for a task that is already running
#snoozeTimeMillis: 10000
## Time to wait before new tasks are eligible for execution (in seconds)
#quietPeriodSecs: 0
## Time to wait before inactive task is eligible for recovery (in seconds)
#inactivityThresholdSecs: 60
## Number of task retries before a warning is logged
#taskExecutionRetriesWarningThreshold: 5
## Maximum number of task retries
#maxTaskExecutionRetries: 5
#recoveryBatchSize: 10000
## Interval between reviver runs (in milliseconds)
#taskReviverCycleMillis: 1000
## 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/lib64Router Template
## 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:
#requiredServiceTypes: "jfds"
## 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
## Retry configuration
retry:
## Enable retry sending request in case of network error
#enabled: trueUpdated 12 days ago
