Skip to content

Configuration#

When running Predator, it is possible to retrieve and update some of the service's configuration during runtime with the /config endpoint, please check the API reference for more details.

Below are variables Predator can be configured with.

General#

Environment Variable Configuration key Description Configurable from UI/API Default value
INTERNAL_ADDRESS internal_address The local ip address of your machine
RUNNER_DOCKER_IMAGE runner_docker_image The predator-runner docker image that will run the test zooz/predator-runner:$LATEST_TAGGED_VERSION
RUNNER_CPU runner_cpu Number of CPU use by the each runner 1
RUNNER_MEMORY runner_memory Max memory to use by each runner 256
DEFAULT_EMAIL_ADDRESS default_email_address Default email to send final report to, address can be configured
ALLOW_INSECURE_TLS allow_insecure_tls If true, don't fail requests on unverified server certificate errors false
DELAY_RUNNER_MS delay_runner_ms Delay the predator runner from sending http requests (ms)
INTERVAL_CLEANUP_FINISHED_CONTAINERS_MS interval_cleanup_finished_containers_ms Interval (in ms) to search and delete finished tests containers. Value of 0 means no auto clearing enabled 0
CUSTOM_RUNNER_DEFINITION custom_runner_definition Custom json that will be merged with the kubernetes/metronome predator runner job definition. See FAQ for usage examples. API
STREAMING_EXCLUDED_ATTRIBUTES streaming_excluded_attributes Attribute names to exclude from being produced in the resource to streaming platform API
MAX_UPLOAD_FILE_SIZE_MB Maximum file size (in megabytes) that is allowed for uploading CSV files 10

Note

RUNNER_DOCKER_IMAGE (zooz/predator-runner:$TAGGED_VERSION) should match the Predator's version running in order to be fully compatible with all features.

Database#

Environment Variable Description Configurable from UI/API Default value
DATABASE_TYPE Database to integrate Predator with [Postgres, MySQL, MSSQL, SQLITE] x SQLITE
DATABASE_NAME Database/Keyspace name x
DATABASE_ADDRESS Database address x
DATABASE_USERNAME Database username x
DATABASE_PASSWORD Database password x

Additional parameters for the following chosen databases:

SQLITE#

Environment Variable Description Configurable from UI/API Default value
SQLITE_STORAGE SQLITE file name x predator

Deployment#

Environment Variable Description Configurable from UI/API Default value
JOB_PLATFORM Type of platform using to run predator (METRONOME,KUBERNETES,DOCKER) x DOCKER

Kubernetes#

Environment Variable Description Configurable from UI/API Default value
KUBERNETES_URL Kubernetes API Url x
KUBERNETES_TOKEN Kubernetes API Token x
KUBERNETES_NAMESPACE Kubernetes Namespace x

Metronome#

Environment Variable Description Configurable from UI/API Default value
METRONOME_URL Metronome API Url x
METRONOME_TOKEN Metronome API Token x

Docker#

Environment Variable Description Configurable from UI/API Default value
DOCKER_HOST Docker engine url (host and port number of docker engine) x
DOCKER_CERT_PATH Path to CA certificate directory x

Streaming#

Environment Variable Description Configurable from UI/API Default value
STREAMING_PLATFORM Type of platform to produce messages to x N/A
STREAMING_PLATFORM_HEALTH_CHECK_TIMEOUT_MS Health check timeout to streaming platform x 2000

Kafka#

Applicable when STREAMING_PLATFORM = Kafka

Environment Variable Description Configurable from UI/API Default value Required
KAFKA_CLIENT_ID Id of kafka client x N/A x
KAFKA_BROKERS String list of kafka brokers, split by ',' delimiter x N/A
KAFKA_TOPIC Topic name x N/A
KAFKA_ALLOW_AUTO_TOPIC_CREATION Enable kafka client to auto create topic if it does not exist x false x
KAFKA_ADMIN_RETRIES Admin client retries x 2 x

Benchmarks#

Environment Variable Configuration key Description Configurable from UI/API Default value
BENCHMARK_THRESHOLD benchmark_threshold Minimum acceptable score of tests, if a score is less than this value, a webhook will be sent to the threshold webhook url
benchmark_weights.percentile_ninety_five.percentage Percentage of the score affected by p95 results 20
benchmark_weights.percentile_fifty.percentage Percentage of the score affected by median results 20
benchmark_weights.server_errors_ratio.percentage Percentage of the score affected by server errors ratio 20
benchmark_weights.client_errors_ratio.percentage Percentage of the score affected by client errors ratio 20
benchmark_weights.rps.percentage Percentage of the score affected by requests per second results 20

Metrics#

PROCESS.ENV Variable Configuration key Description Configurable from UI/API Default value
METRICS_PLUGIN_NAME metrics_plugin_name Metrics integration to use [prometheus,influx]

Prometheus#

Environment Variable Configuration key Description Configurable from UI/API Default value
prometheus_metrics.push_gateway_url Url of push gateway
prometheus_metrics.buckets_sizes Bucket sizes to configure prometheus
prometheus_metrics.labels Labels will be passed to the push gateway

InfluxDB#

Environment Variable Configuration key Description Configurable from UI/API Default value
influx_metrics.host Influx db host
influx_metrics.username Influx db username
influx_metrics.password Influx db password
influx_metrics.database Influx db name

SMTP Server#

Environment Variable Configuration key Description Configurable from UI/API Default value
SMTP_FROM smtp_server.from the 'from' email address that will be used to send emails
SMTP_HOST smtp_server.host SMTP host
SMTP_PORT smtp_server.port SMTP port number
SMTP_USERNAME smtp_server.username SMTP username
SMTP_PASSWORD smtp_server.password SMTP password
SMTP_TIMEOUT smtp_server.timeout How many milliseconds to wait for the connection to establish to SMTP server 200
SMTP_SECURE smtp_server.secure if true the connection will use TLS when connecting to server. Nodemailer SMTP options false
SMTP_REJECT_UNAUTH_CERTS smtp_server.rejectUnauthCerts should fail or succeed on unauthorized certificate false