The Worker System YAML supports shared configurations, Worker microservice configurations, and router configurations.
## Worker service configuration
# worker:
## Worker port for REST API
# port: 8098
## Worker port for gRPC API
# grpcPort: 8099
## Worker cache configuration
# state:
# Defines how many key-value pairs can be stored in the state of a Worker
# maxItems: 10
# workerCache:
## Maximum number of workers stored in cache
# max: 200
## Time to live for workers in cache
# ttlMillis: 300000
# worker:
## Amount of workers allowed per action
# maxPerActionPerTenant: 10
## Defines how many memory max in Mb the node process can use per worker (child process)
# maxOldSpace: 128
# edition:
# limits:
## Maximum number of code characters allowed in a single worker
# maxCodeChars: 100000
## Maximum number of characters allowed in the ersion (when saving a Worker with version)
# maxVersionNumberChars: 64
## Maximum number of version description characters allowed (when saving a Worker with version)
# maxVersionDescriptionChars: 256
## Maximum number of version description characters allowed (when saving a Worker with version)
# maxVersionCommitShaChars: 128
## Maximum number of versions kept per Worker
# maxVersionByWorker: 50
# execution:
## Set it to false to bypass the host check ; host check forbidds the 'context.clients.axios' client from calling localhost, unicast IPs and JFrog's domain names.
# enableLocalNetworkValidation: true
# errorRateLimiter:
## Backed off by 2^10 which is around 17 minutes
# maxExponentBackoff: 10
## Reset errorRateLimiter every day (backoff exponent and current rate will be reset)
# cleanIntervalMillis: 1000 * 60 * 60 * 24
## How many times we can fail withing cleanIntervalMillis before backing off
# rateLimit: 10
# limits:
## Maximum CPU time in milliseconds allowed for a single worker
# cpuTimeMillis: 1000
## Maximum call time in milliseconds allowed for a single worker
# callTimeMillis: 5000
## Maximum memory in Mb allowed for a single worker
# memoryMB: 64
## How often we check for the worker status
# checkIntervalMillis: 100
## Maximum call depth allowed for a single worker
# maxCallDepth: 100
## Maximum time a worker can wait in the queue before being killed
# maxWaitingInQueueMillis: 30000
## Maximum size of JSON payload in KB allowed to be sent to a worker
# jsonPayloadLimitKB: 100
# workers:
## Number of processes (execution unit) in worker pool
# count: 10
## Security configuration for axios client used in workers
# axios:
## List of axios config properties allowed for modification
# requestConfigWhiteList: {}
## Whether to reset the request config base white list
# resetRequestConfigBaseWhiteList: false
## DNS cache configuration
# dnsCache:
# enabled: true
# maxTtlSeconds: 5
# errorTtlSeconds: 1
## These fields will be skipped from obfuscation in the worker output
# skipFieldsObfuscation:
# - 'modifiedRepoPath'
## Execution history configuration
# history:
# enabled: false
# storageConfig:
## The limit in Kb beyond which the entry will be truncated (essentially logs and custom data returned by the worker)
# maxEntrySizeKb: 130
## Interval in milliseconds for trimming the history
# trimIntervalMillis: 60000
## Maximum number of entries in the history for a single Worker
# maxTrimLength: 100
## The target of the storage where the history will be saved.
## Must follow the pattern <protocol>://<valid_uri>
## protocol can be 'redis' (for Redis storage or Valkey), 'rediss' for Redis/Valkey connection over TLS/SSL or 'file'
## you can use several uri separated by a comma (will use the same protocol for all)
## Examples: redis://localhost:6379 or file:///var/logs/,another/path
# url: 'file://$JFROG_HOME/var/log'
## Storage connection parameters separated by a semicolon
## List of parameters: username, password, mode (single or cluster), commandTimeoutMillis and connectionTimeoutMillis
# params: 'mode=single'
## Number of seconds the history is kept in the storage such as Redis or Valkey (does not apply for file system storage mode)
# streamTtlDurationSeconds: 1296000
# security:
# trustedCAFiles:
# - $JFROG_HOME/var/etc/worker/keys/trusted
# - $JFROG_HOME/var/etc/security/keys/trusted
## Configure the GRPC server (used by event producer to trigger Workers)
# grpc:
# maxConnectionAgeMillis: 300000
# maxConnectionIdleMillis: 30000
## Config for fetching Worker code samples
# marketplace:
# enabled: true,
## you target your own GitHub repository for code samples. (Please refer to this README for the
# github:
# baseUrl: 'https://github.com'
# owner: 'jfrog'
# repo: 'workers-sample'
# samplesPath: 'samples'
# branchRef: 'main'
# pollingIntervalHours: 24
## Logging configuration
# logging:
## Log throttle configuration
# throttle:
# maxItems: 50
# intervalMillis: 250
## Application logging configuration
# application:
# dirPath: 'var/log'
# level: 'info'
# rotation:
# frequency: '24h'
# maxSizeMb: 25
# maxFiles: 10
# datePattern: 'YYYY-MM-DD-HH'
## Request logging configuration
# request:
# dirPath: 'var/log'
# level: 'info'
# rotation:
# frequency: '24h'
# maxSizeMb: 25
# maxFiles: 10
# datePattern: 'YYYY-MM-DD-HH'