Learn how to configure TNB using system properties and configuration files
TNB uses a flexible configuration system built on Eclipse MicroProfile Config that allows you to customize behavior through system properties, environment variables, and properties files.
Each System-X service can be configured using properties in the format tnb.<service>.<property>. These are covered in detail in the Docker images section.
# Use TestContainers locallytest.use.openshift=false# Load credentialstest.credentials.file=~/tnb-credentials.yaml# Override specific service imagetnb.mongodb.image=mongo:7.0tnb.kafka.image=confluentinc/cp-kafka:7.5.0# Enable log streamingstream.logs=true
# Use OpenShift deploymenttest.use.openshift=true# OpenShift cluster configopenshift.kubeconfig=~/.kube/configopenshift.namespace=my-test-namespaceopenshift.namespace.delete=true# Credentials from Vaulttest.credentials.use.vault=truetest.credentials.vault.token=${VAULT_TOKEN}test.credentials.vault.address=https://vault.company.comtest.credentials.vault.path.pattern=/secret/services/%s/credentials
# Pipeline configurationtest.use.openshift=truetest.parallel=truetest.skip.teardown=false# Namespace managementopenshift.namespace.autoset=falseopenshift.namespace.delete=true# Maven settingstest.maven.repository=https://nexus.company.com/repository/maven-publictest.maven.settings=/opt/maven/settings.xml# Reportingtest.report.portal.enabled=true# User trackingtnb.user=jenkins-pipeline
Keep all configuration in a test.properties file instead of command-line arguments for better maintainability.
Environment-specific files
Create separate properties files for different environments (local, staging, production).
Version control
Add test.properties to .gitignore if it contains sensitive values. Use a test.properties.template as a reference.
Environment variables
Use environment variables for secrets in CI/CD pipelines instead of hardcoding in properties files.
Never commit credentials or sensitive information to version control. Use Vault, environment variables, or local credentials files that are gitignored.