-
-
Notifications
You must be signed in to change notification settings - Fork 1
Configuration
github-actions[bot] edited this page Sep 6, 2026
·
1 revision
All configuration is externalizable via environment variables. The pattern is SYNCFLOW_<SECTION>_<KEY>.
| Variable | Description | Default |
|---|---|---|
SYNCFLOW_ENCRYPTION_KEY |
Base64-encoded AES key (16/24/32 bytes) for credential encryption | (none — fails fast if missing) |
SYNCFLOW_JWT_SECRET |
Base64-encoded HMAC secret (>= 32 bytes) for JWT signing | (none — fails fast if missing) |
| Variable | Description | Default |
|---|---|---|
SYNCFLOW_JWT_ISSUER |
JWT issuer claim | syncflow |
SYNCFLOW_JWT_EXPIRY_MINUTES |
JWT token expiry in minutes | 60 |
| Variable | Description | Default |
|---|---|---|
SYNCFLOW_RUNTIME_SYNC_QUEUE_CAPACITY |
Per-pipeline CDC event queue capacity | 10000 |
SYNCFLOW_RUNTIME_SYNC_BATCH_SIZE |
Max events drained + written per batch | 100 |
SYNCFLOW_RUNTIME_SYNC_POLL_TIMEOUT |
Poll timeout when queue is empty | 500ms |
SYNCFLOW_RUNTIME_SNAPSHOT_CHECKPOINT_INTERVAL_BATCHES |
Checkpoint every N batches | 5 |
SYNCFLOW_RUNTIME_RETRY_MAX_ATTEMPTS |
Max delivery attempts before DLQ | 3 |
SYNCFLOW_RUNTIME_RETRY_BASE_DELAY |
Exponential backoff base delay | 1000ms |
| Variable | Description | Default |
|---|---|---|
SYNCFLOW_KAFKA_ENABLED |
Enable Kafka transport | false |
SYNCFLOW_KAFKA_BOOTSTRAP_SERVERS |
Kafka broker list | localhost:9092 |
SYNCFLOW_KAFKA_TOPIC_PREFIX |
Topic name prefix | syncflow |
| Variable | Description | Default |
|---|---|---|
SYNCFLOW_AGENT_CONTROL_PLANE |
Control plane URL | http://localhost:8080 |
SYNCFLOW_AGENT_VERSION |
Agent version string | 0.1.0 |
| Variable | Description | Default |
|---|---|---|
SYNCFLOW_AI_ENDPOINT |
LLM API endpoint | https://api.openai.com/v1/chat/completions |
SYNCFLOW_AI_MODEL |
LLM model name | gpt-4o |
SYNCFLOW_AI_API_KEY |
LLM API key | (empty) |
SYNCFLOW_AI_MAX_TOKENS |
Max tokens per request | 4096 |
SYNCFLOW_AI_TEMPERATURE |
Sampling temperature | 0.3 |
Key application.yml properties:
spring:
threads:
virtual:
enabled: true # Virtual threads for Tomcat
datasource:
url: jdbc:postgresql://localhost:5432/syncflow
hikari:
maximum-pool-size: 10
jpa:
hibernate:
ddl-auto: validate
management:
endpoints:
web:
exposure:
include: health,info,metrics,prometheus,shutdownBound to @ConfigurationProperties("syncflow.runtime") with @Validated. Constructor injection of ActiveCaptureRepository and DistributedLockService.
syncflow:
runtime:
sync:
queue-capacity: 10000
batch-size: 100
poll-timeout: 500ms
snapshot:
checkpoint-interval-batches: 5
progress-publish-interval-batches: 10
parallelism: 4
max-chunks: 64
retry:
max-attempts: 3
base-delay: 1000ms| Profile | Purpose |
|---|---|
local |
Local development with PostgreSQL |
test |
Integration tests with Testcontainers |
production |
Hardened settings for deployment |