Advanced Configuration Reference
This page documents advanced configuration properties and environment variables that are not commonly used but provide fine-grained control over TDK behavior. These properties can be set as environment variables in docker-compose.yml or in application.properties files.
|
Most users will not need to modify these settings. The defaults are optimized for typical use cases. Only adjust these properties if you have specific performance or operational requirements. |
Scheduling & Background Tasks
These properties control internal scheduled tasks such as cleanup operations and health checks.
Task Run Lifecycle
Controls the scheduled check for terminating task runs.
-
GOVERNOR_SCHEDULING_TASK_RUN_TERMINATING_CHECK_DELAY_MILLISInitial delay before the first terminating check runs (in milliseconds).
Default:
10000(10 seconds)Example: Set to
86400000(24 hours) to effectively disable frequent checks in test environments:GOVERNOR_SCHEDULING_TASK_RUN_TERMINATING_CHECK_DELAY_MILLIS=86400000 -
GOVERNOR_SCHEDULING_TASK_RUN_TERMINATING_CHECK_INTERVAL_MILLISInterval between terminating checks (in milliseconds).
Default:
30000(30 seconds)Example: Increase interval to reduce system load:
GOVERNOR_SCHEDULING_TASK_RUN_TERMINATING_CHECK_INTERVAL_MILLIS=60000
Connection Cache Cleanup
Controls how often database connection caches are cleaned up.
-
GOVERNOR_SCHEDULING_CONNECTION_CACHE_CLEANUP_INTERVAL_MILLISInterval for cleaning up cached database connections (in milliseconds).
Default:
180000(3 minutes)Example:
GOVERNOR_SCHEDULING_CONNECTION_CACHE_CLEANUP_INTERVAL_MILLIS=300000
Spawned Database Cleanup
Controls cleanup of temporary databases created during workflow execution.
-
GOVERNOR_SCHEDULING_SPAWNED_DATABASE_CLEANUP_INTERVAL_MILLISInterval for removing expired spawned databases (in milliseconds).
Default:
3600000(1 hour)Example: Check more frequently in development:
GOVERNOR_SCHEDULING_SPAWNED_DATABASE_CLEANUP_INTERVAL_MILLIS=1800000
Workflow Execution
These properties control workflow execution behavior, thread pools, and connection management.
Workflow Runner
-
WORKFLOW_RUNNER_THREADSNumber of threads available for workflow execution.
Default:
30Example: Increase for better parallelism on high-core machines:
WORKFLOW_RUNNER_THREADS=50 -
WORKFLOW_RUNNER_TERMINATION_MSTimeout for workflow runner termination (in milliseconds).
Default:
5000(5 seconds)Example:
WORKFLOW_RUNNER_TERMINATION_MS=10000
Workflow Data Source Connection Pools
Controls connection pooling behavior for workflow data sources.
-
WORKFLOW_DATASOURCE_SYSTEMPOOLSIZESize of the system connection pool.
Default:
3Example:
WORKFLOW_DATASOURCE_SYSTEMPOOLSIZE=5 -
WORKFLOW_DATASOURCE_SYSTEMPOOLSCACHEEXPIREACCESSECONDSTime (in seconds) after which cached connection pools expire if not accessed.
Default:
180(3 minutes)Example:
WORKFLOW_DATASOURCE_SYSTEMPOOLSCACHEEXPIREACCESSECONDS=300 -
WORKFLOW_DATASOURCE_SYSTEMPOOLSCACHESIZEMaximum number of connection pools to cache.
Default:
1024Example:
WORKFLOW_DATASOURCE_SYSTEMPOOLSCACHESIZE=2048 -
WORKFLOW_DATASOURCE_DEFAULTMAXIMUMPOOLSIZEDefault maximum size for individual connection pools.
Default:
20Example: Increase for data sources with high concurrent access:
WORKFLOW_DATASOURCE_DEFAULTMAXIMUMPOOLSIZE=30
Workflow Log Files
Controls where and how workflow execution logs are stored.
-
WORKFLOW_LOGFILE_LOCATIONDirectory where workflow run log files are stored.
Default:
logs/runsExample: Store logs in a custom directory:
WORKFLOW_LOGFILE_LOCATION=/var/log/tdk/workflows -
WORKFLOW_LOGFILE_FILEPREFIXNAMEPrefix for log file names.
Default:
runExample:
WORKFLOW_LOGFILE_FILEPREFIXNAME=workflow -
WORKFLOW_LOGFILE_FILEEXTENSIONNAMEFile extension for log files.
Default:
logExample:
WORKFLOW_LOGFILE_FILEEXTENSIONNAME=txt
Agent Configuration
Advanced settings for TDK Agents.
Agent Communication
-
AGENT_GRPC_PORTgRPC port for agent communication.
Default:
50055Example:
AGENT_GRPC_PORT=50060 -
AGENT_GRPC_MAXMESSAGESIZEMaximum gRPC message size in bytes.
Default:
52428800(50 MB)Example: Increase for large workflow configurations:
AGENT_GRPC_MAXMESSAGESIZE=104857600 -
AGENT_GRPC_COMPRESSION_ENABLEDEnable gRPC message compression.
Default:
trueExample:
AGENT_GRPC_COMPRESSION_ENABLED=false
Agent Health
-
AGENT_ALIVEMINUTESNumber of minutes an agent is considered alive without heartbeat.
Default:
2Example: Increase tolerance for network issues:
AGENT_ALIVEMINUTES=5 -
AGENT_CHECKTASKDELAYDelay between agent task checks (in milliseconds).
Default: Not set (uses Spring Boot defaults)
Example:
AGENT_CHECKTASKDELAY=1000
Security & Authentication
Advanced security configuration options.
JWT Configuration
-
JWT_ACCESS_TOKEN_EXPIRATIONAccess token expiration time (in milliseconds).
Default:
86400000(1 day)Example: Reduce for higher security:
JWT_ACCESS_TOKEN_EXPIRATION=3600000 -
JWT_REFRESH_TOKEN_EXPIRATIONRefresh token expiration time (in milliseconds).
Default:
5184000000(60 days)Example:
JWT_REFRESH_TOKEN_EXPIRATION=2592000000 -
JWT_ISSUERJWT token issuer identifier.
Default:
io.synthesizedExample:
JWT_ISSUER=mycompany.io
Credentials Encryption
-
CREDENTIALS_ENCRYPTION_KEYBase64-encoded key used for encrypting stored credentials.
Default: Test key (must be changed in production)
Always generate a new encryption key for production environments. If this key is lost, encrypted credentials cannot be recovered.
Example:
CREDENTIALS_ENCRYPTION_KEY=<base64-encoded-key>
Governor Security Settings
-
GOVERNOR_SECURITY_SECRETEXPIRETIMESECONDSTime (in seconds) before security secrets expire.
Default:
30Example:
GOVERNOR_SECURITY_SECRETEXPIRETIMESECONDS=60 -
GOVERNOR_SECURITY_ALLOWEDCLOCKSKEWSECONDSAllowed clock skew for time-based security checks (in seconds).
Default:
0Example: Allow up to 30 seconds of clock skew:
GOVERNOR_SECURITY_ALLOWEDCLOCKSKEWSECONDS=30 -
GOVERNOR_SECURITY_DEFAULTROLEDefault role assigned to new users.
Default:
USEROptions:
USER,ADMINExample:
GOVERNOR_SECURITY_DEFAULTROLE=ADMIN -
GOVERNOR_SECURITY_ALLOWEDORIGINPATTERNSCORS allowed origin patterns (comma-separated).
Default:
*(all origins)Example: Restrict to specific domains:
GOVERNOR_SECURITY_ALLOWEDORIGINPATTERNS=https://mycompany.com,https://*.mycompany.com -
GOVERNOR_SECURITY_OWNERACCESSONLYWhen
true, users can only see and access their own workflows.Default:
falseExample: Enable for multi-tenant deployments:
GOVERNOR_SECURITY_OWNERACCESSONLY=true
Database Connection Management
Advanced database connection settings using HikariCP.
HikariCP Connection Pool
-
SPRING_DATASOURCE_HIKARI_CONNECTIONTIMEOUTMaximum time (in milliseconds) to wait for a connection from the pool.
Default:
30000(30 seconds)Example:
SPRING_DATASOURCE_HIKARI_CONNECTIONTIMEOUT=20000 -
SPRING_DATASOURCE_HIKARI_IDLETIMEOUTMaximum time (in milliseconds) a connection can sit idle in the pool.
Default:
120000(2 minutes)Example:
SPRING_DATASOURCE_HIKARI_IDLETIMEOUT=180000 -
SPRING_DATASOURCE_HIKARI_MAXLIFETIMEMaximum lifetime (in milliseconds) of a connection in the pool.
Default:
1800000(30 minutes)Example:
SPRING_DATASOURCE_HIKARI_MAXLIFETIME=3600000 -
SPRING_DATASOURCE_HIKARI_KEEPALIVE_TIMEFrequency (in milliseconds) of keepalive checks for idle connections.
Default:
0(disabled)Example: Enable keepalive every 5 minutes:
SPRING_DATASOURCE_HIKARI_KEEPALIVE_TIME=300000 -
SPRING_DATASOURCE_HIKARI_MINIMUMIDLEMinimum number of idle connections in the pool.
Default:
0(allows scaling to zero)Example: Maintain at least 5 idle connections:
SPRING_DATASOURCE_HIKARI_MINIMUMIDLE=5 -
SPRING_DATASOURCE_HIKARI_MAXIMUMPOOLSIZEMaximum number of connections in the pool.
Default:
15Example: Increase for high-concurrency deployments:
SPRING_DATASOURCE_HIKARI_MAXIMUMPOOLSIZE=25 -
SPRING_DATASOURCE_HIKARI_SCHEMADefault schema to use for connections.
Default:
publicExample:
SPRING_DATASOURCE_HIKARI_SCHEMA=tdk_schema
Feign Client Configuration
Settings for HTTP client connections to external services.
-
APP_FEIGN_CONNECT_TIMEOUTConnection timeout for Feign clients (in seconds).
Default:
10Example:
APP_FEIGN_CONNECT_TIMEOUT=15 -
APP_FEIGN_READ_TIMEOUTRead timeout for Feign clients (in seconds).
Default:
120Example:
APP_FEIGN_READ_TIMEOUT=180
Management & Monitoring
Settings for application health checks and metrics.
-
MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDEComma-separated list of management endpoints to expose.
Default:
health,metrics,prometheusExample: Add additional endpoints:
MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE=health,metrics,prometheus,info,env -
MANAGEMENT_HEALTH_LDAP_ENABLEDEnable LDAP health check endpoint.
Default:
falseExample:
MANAGEMENT_HEALTH_LDAP_ENABLED=true
Sentry Error Tracking
Configuration for Sentry error tracking integration.
-
SENTRY_DSNSentry Data Source Name for error reporting.
Default: Empty (disabled)
Example:
SENTRY_DSN=https://examplePublicKey@o0.ingest.sentry.io/0 -
SENTRY_TRACES_SAMPLE_RATEPercentage of traces to capture (0.0 to 1.0).
Default:
1.0(100%)Example: Sample 10% of traces in production:
SENTRY_TRACES_SAMPLE_RATE=0.1
Spring Framework Configuration
Advanced Spring Boot settings.
-
SPRING_MAIN_ALLOW_BEAN_DEFINITION_OVERRIDINGAllow bean definition overriding.
Default:
trueExample:
SPRING_MAIN_ALLOW_BEAN_DEFINITION_OVERRIDING=false -
SPRING_MAIN_BANNER_MODEControl Spring Boot banner display.
Default:
offOptions:
off,console,logExample:
SPRING_MAIN_BANNER_MODE=console -
SPRING_LIQUIBASE_ANALYTICS_ENABLEDEnable Liquibase analytics.
Default:
falseExample:
SPRING_LIQUIBASE_ANALYTICS_ENABLED=true -
SPRING_LIQUIBASE_CHANGE_LOGPath to Liquibase changelog file.
Default:
classpath:db/migration/governor.dbchangelog.xmlExample:
SPRING_LIQUIBASE_CHANGE_LOG=classpath:db/custom-changelog.xml -
SPRING_LIQUIBASE_ENABLEDEnable Liquibase database migrations.
Default:
trueExample: Disable for external database management:
SPRING_LIQUIBASE_ENABLED=false