Botium Box Configuration
Botium Box Server and Agents are configured with environment variables. You have to add those environment variables to the Botium Box docker-compose.yml file.
Note
When using another technology to start the containers, use this technologies means of passing environment variables to Botium Box. Passing environment variables is the state-of-the-art-method for container configuration and supported by all providers.
Note
Please note that the Botium Box distribution has reasonable defaults for all of these settings, so in most cases you won’t have to change anything.
Environment Variables for Botium Box Server and Agent(s)
Relevant for Botium Box Server and Botium Box Agent
BOTIUMBOX_QUEUE_REDISURL
The URL for connection to Redis (see here for details), the default is Redis running on same host (redis://127.0.0.1:6379)
BOTIUMBOX_QUEUE_PREFIX
Has to be the same for server and agent(s). Can be used to use one Redis instance for multiple Botium Box installations.
BOTIUMBOX_LOG_JSON
Set to "1" to makes Botium Box output logs as JSON instead of plain text. Useful for things like Kibana, Fluentd etc
DEBUG
To enable detailed application logging, Botium Box uses the "debug" conventions (https://github.com/visionmedia/debug).. In short: set the environment variable "DEBUG" to "botium*" to enable logging for all botium-related sections.
Environment Variables for Botium Box Server
Only relevant for Botium Box Server
DATABASE_URL
Mysql database url, for example "mysql://root:password@mysql:3306/box@prod13"
REQUEST_SIZE_LIMIT
The maximal size of request payload. This is especially important for TestSet file uploads. default is (10MB)
JWT_SECRET
Encryption token for website security tokens, for example "jwtsecret123"
BOTIUMBOX_ENABLE_CONNECTORS
comma-separated list of connectors to enable (for custom connectors)
BOTIUMBOX_AGENTREGISTRATION
"AUTO" (default) for automatically registering agents by agent name
BOTIUMBOX_AGENT_LIST
comma separated list of allowed agent names
BOTIUMBOX_API_TIMEOUT
Timeout for all API operations in seconds (default: 30 minutes)
BOTIUMBOX_QUEUE_RESPONSE_CONCURRENCY (> 2.8.2)
concurrency count for processing agent responses (default: 50)
BOTIUMBOX_QUEUE_RESPONSE_CONCURRENCY_PERFORMANCE (> 2.8.2)
concurrency count for processing performance test responses (default: 1000)
BOTIUMBOX_QUEUE_RESPONSE_CONCURRENCY_COACH (> 2.8.2)
concurrency count for processing coach test responses (default: 50)
BOTIUMBOX_METRICS_ENABLE_BOX (> 2.8.2)
Set to 1 to publish Botium Box internal metrics on the Prometheus endpoint /metrics (default disabled)
BOTIUMBOX_METRICS_ENABLE_NODEJS (> 2.8.2)
Set to 1 to publish Node.js metrics on the Prometheus endpoint /metrics (default disabled)
See here for details about the published metrics
BOTIUMBOX_SCANFORTESTSETS
Path to a directory scanned for Test Sets on launch. Folder Structure is like:
-
en
-
TestSet1
-
TestSet2
-
-
de
-
TestSet1
-
…
-
First level: language code
second level: Test Set name
BOTIUMBOX_OVERWRITETESTSETS
If a test set has already been imported from the test sets folder (see above), it won’t be imported again. Settings this to “1” will delete the existing test set and import it again. Changes to a test set will be lost.
BOTIUMBOX_MIME_TYPE_VALIDATOR_PROCESSOR
Settings/File Browser tries to detect corrupted/unsecure files. For example does not allow to upload a binary file with .txt extension.
There are too many extensions, And some formats are diffcult to test (like markdown), so the check may not work always as expected.
You can choose from two validator providers, or turn the whole validation off with this environment variable.
mmmagic - recognizes, and so allows more mimetypes. On dev environment it has been exited with error code sometimes. Uses mmmagic module in backgroud.
file-type - supports less mimetypes, and the supported ones are checked more strict. (Does not accepts every txt file as JSON for example, as mmmagic does)
off - turns the validation off
BOTIUMBOX_LOAD_PLUGINS
Plugins are custom components in resources directory of Botium Box. They are not loaded as default due to security reasons. You can activate loading with ‘on’ or ‘enable’ value, deactivate with empty string.
Plugins are:
SMTP Settings
SMTP_HOST - SMTP Server Hostname
SMTP_PORT - SMTP Server Port
SMTP_SECURE - Set to 1 to use SSL for SMTP connection
SMTP_USER - SMTP Username
SMTP_PASSWORD - SMTP Password
External API Settings
OPENAI_APIKEY and OPENAI_RATE_BY_MINUTE
OpenAI Api Key (Paraphrasing, Test Case Wizard, ...). Maximum number of API Calls per minute can be throttled with OPENAI_RATE_BY_MINUTE.
GOOGLE_TRANSLATE_CLIENT_EMAIL and GOOGLE_TRANSLATE_PRIVATE_KEY
For Google Cloud Translation credentials
SPEECH_PROCESSING_ENDPOINT and SPEECH_PROCESSING_APIKEY
For Botium Speech and Voice Processing
COACH_WORKER_ENDPOINT and COACH_WORKER_APIKEY
For Botium Coach Worker
Environment Variables for Botium Box Agent(s)
Only relevant for Botium Box Agent
BOTIUMBOX_AGENT_NAME
for setting an agent name (each agent should have a different name). By default, the hostname is used.
BOTIUMBOX_AGENT_NUM
agent name composed of hostname and this number (for cluster mode)
BOTIUMBOX_AGENT_GROUP
currently not usec
BOTIUMBOX_QUEUE_HEARTBEAT
set to amount of milliseconds between heartbeat message (default: 30000 - 30 seconds)
BOTIUMBOX_QUEUE_CONCURRENCY
concurrency count for processing agent requests (default: 1)
BOTIUMBOX_QUEUE_CONCURRENCY_PERFORMANCE
concurrency count for processing performance tests (default: 1)
BOTIUMBOX_QUEUE_CONCURRENCY_COACH
concurrency count for processing coach tests (default: 10)
BOTIUMBOX_QUEUE_PROGRESS_RETRY_ATTEMPTS
number of retries for sending progress (default: 5)
BOTIUMBOX_QUEUE_PROGRESS_RETRY_DELAY
number of milliseconds between retries in milliseconds (default: 10000 - 10 seconds)
BOTIUMBOX_AGENT_MAX_CONVO_DURATION
maximum number of milliseconds a test case is allowed to take (default: 600000 - 10 minutes)