bs.concord.concord-agent.2.17.0.source-code.concord-agent.conf Maven / Gradle / Ivy
# Concord Agent
#
# Note: most of path parameters accept either absolute paths or a directory
# name. With the latter, the effective path is ${CONCORD_TMP_DIR}/${value}
#
# E.g.
#
# workDirBase = "workDirs" # means "/tmp/workDirs", created automatically
#
# dependencyCacheDir = "/data/concord/dependencyCache" # path to an existing directory
#
concord-agent {
# unique ID of the agent
# a string value, 36 characters max, typically an UUID
# generated on start if not specified
id = ${?AGENT_ID}
# agent capabilities, JSON object
capabilities = { }
# directory to cache dependencies
dependencyCacheDir = "dependencyCache"
# directory to store process dependency lists
dependencyListsDir = "dependencyLists"
# timeout to resolve process dependencies
dependencyResolveTimeout = "10 minutes"
# use repositories from `CONCORD_MAVEN_CFG` file only
# (allow/ignore repositories from artifact descriptor)
dependencyStrictRepositories = false
# artifact exclude patterns
dependencyExclusions = []
# explicitly resolve v1 version of the concord HTTP client
explicitlyResolveV1Client = true
# resolve Maven artifacts in the offline mode
mavenOfflineMode = false
# base directory to store the process payload
# created automatically if not specified
payloadDir = "payload"
# base directory for the process' ${workDir}
#
# Use the same value and use absolute paths when running multiple Agents.
# If the process keeps ${workDir} value as a part of another variable,
# the value might not longer be valid if the process restarts and
# gets a new Agent.
workDirBase = "/tmp/concord-agent/workDirs"
# directory to store the process logs
# created automatically if not specified
logDir = "logs"
# maximum delay between log chunks
# determines how ofter the logs are send back to the server
logMaxDelay = "2 seconds"
# maximum number of concurrent processes
workersCount = 3
workersCount = ${?WORKERS_COUNT}
# host/ip of the maintenance mode endpoint
maintenanceModeListenerHost = "localhost"
# port of the maintenance mode endpoint
maintenanceModeListenerPort = 8010
maintenanceModeListenerPort = ${?MM_PORT}
# interval between new payload requests
pollInterval = "2 seconds"
# JVM prefork settings
prefork {
# enable/disabled the use of "preforks"
#
# When enabled, Agent keeps a copy of the process' JVM as a "spare".
# If Agent receives another process with the same classpath, JVM and
# Concord Runtime parameters, the "spare" is used. This can sometimes
# minimize the cost of JVM startup and classpath scanning.
#
# Note, enabling this mechanism can have other side-effects.
# The effective ${workDir} might exist before the process ID is known
# (in order to keep a "spare" running there, with all Java dependencies
# loaded).
# If any process keeps a copy of ${workDir} value as a part of another
# variable, the value might get stale, e.g. if the process restarts
# (or resumes after suspend) and, subsequently, gets a "fresh" workDir.
#
# When "false", the process' ${workDir} is always ${workDirBase}/${instanceId}
enabled = false
# maximum time to keep a preforked JVM
maxAge = "30 seconds"
# maximum number of preforks
maxCount = 3
}
# server connection settings
server {
apiBaseUrl = "http://localhost:8001"
apiBaseUrl = ${?SERVER_API_BASE_URL}
# comma-separated list or URLs
websocketUrl = "ws://localhost:8001/websocket"
websocketUrl = ${?SERVER_WEBSOCKET_URL}
verifySsl = false
connectTimeout = "30 seconds"
readTimeout = "1 minute"
retryCount = 5
retryInterval = "30 seconds"
# User-Agent header to use with API requests
userAgent = null
userAgent = ${?USER_AGENT}
# interval between WS ping requests in case of no other activity
websocketPingInterval = "10 seconds"
# maximum period of no activity before reconnect
websocketMaxNoActivityPeriod = "30 seconds"
# API key to use
# Generated on Server first start or defined in server.conf at db.changeLogParameters.defaultAgentToken
# IMPORTANT! After initialization, create a new token via API and delete initial token
apiKey = ""
# maximum time interval without a heartbeat before the process fails
maxNoHeartbeatInterval = "5 minutes"
# delay between successful polling attempts
processRequestDelay = "1 seconds"
# delay between re-connection attempts if the server is unreachable or unhealthy
reconnectDelay = "5 seconds"
}
docker {
host = "tcp://127.0.0.1:2375"
host = ${?DOCKER_HOST}
orphanSweeperEnabled = false
orphanSweeperPeriod = "15 minutes"
# list of volumes mounted into the process' containers in addition to the /workspace
# affects only the plugins, such as `docker` and `ansible`
extraVolumes = []
# expose docker daemon to containers started by DockerService
exposeDockerDaemon = true
}
repositoryCache {
# directory to store the local repo cache
# created automatically if not specified
# cacheDir = "/tmp/concord/repos"
# timeout for checkout operations (ms)
lockTimeout = "3 minutes"
# directory to store the local repo cache info
# created automatically if not specified
#cacheInfoDir = "/tmp/concord/repos_info"
# the allowed concurrency level when pulling Git data
lockCount = 8
# max cached repo age in ms
maxAge = "1 day"
}
# git clone config
git {
# GitHub auth token to use when cloning repositories without explicitly configured authentication
# oauth = "..."
# use GIT's shallow clone
shallowClone = true
# do not execute fetch if the current HEAD is the latest commit ID
checkAlreadyFetched = true
# default timeout duration for any git operation
defaultOperationTimeout = "10 minutes"
# fetch timeout duration
fetchTimeout = "10 minutes"
# see GIT documentation for GIT_HTTP_LOW_SPEED_LIMIT and GIT_HTTP_LOW_SPEED_TIME
# use with caution, can cause performance issues
httpLowSpeedLimit = 0
httpLowSpeedTime = "10 minutes"
sshTimeoutRetryCount = 1
sshTimeout = "10 minutes"
}
imports {
# base git url for imports
src = ""
# list of disabled import processors
# e.g. "dir" is useful for local development, but potentially a security issue
disabledProcessors = [
"dir"
]
}
runner {
# directory to store process configuration files
cfgDir = null
# reserved for the future use
securityManagerEnabled = false
# command to use to run the runner JAR
# '${java.home}/bin/java' by default
#javaCmd = "java"
# default JVM parameters
jvmParams = [
"-Xmx128m",
"-XX:+HeapDumpOnOutOfMemoryError",
"-XX:+ExitOnOutOfMemoryError",
"-XX:HeapDumpPath=/tmp"
]
# if set, the Agent copies all process files into a persistentWorkDir's subdirectory
# after the process ends (regardless of the status)
# should not be used in production environments
# persistentWorkDir = /path/to/dir
# if true, agent will forcibly kill any remaining child PIDs (i.e. zombies)
# of the runner process
cleanRunnerDescendants = false
}
# the default v1 runtime configuration
runnerV1 = ${runner}
runnerV1 {
# path to the runner v1 JAR, must be local to the agent
path = null
path = ${?RUNNER_V1_PATH}
mainClass = "com.walmartlabs.concord.runner.Main"
}
# the v2 runtime configuration
runnerV2 = ${runner}
runnerV2 {
# path to the runner v2 JAR, must be local to the agent
path = null
path = ${?RUNNER_V2_PATH}
mainClass = "com.walmartlabs.concord.runtime.v2.runner.Main"
}
development {
}
production {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy