Skip to main content

Default DataSQRL package.json Configuration

The following is the default configuration file that user provided configuration files are merged on top of. It provides the default values for all configuration options.

{
"version": "1",
"enabled-engines": ["vertx", "postgres", "kafka", "flink"],
"compiler": {
"logger": "print",
"compile-flink-plan": true,
"extended-scalar-types": true,
"predicate-pushdown-rules": "LIMITED_TABLE_SOURCE_RULES",
"cost-model": "DEFAULT",
"explain": {
"sql": false,
"logical": false,
"physical": false,
"sorted": true
},
"api": {
"protocols": ["GRAPHQL", "REST", "MCP"],
"endpoints": "FULL",
"add-prefix": true,
"max-result-depth": 3,
"default-limit": 10
}
},
"engines": {
"flink": {
"config": {
"execution.runtime-mode": "STREAMING",
"security.delegation.tokens.enabled": false,
"state.backend.type": "rocksdb"
}
},
"duckdb": {
"url": "jdbc:duckdb:"
},
"kafka": {
"retention": null,
"watermark": "0 ms",
"transaction-watermark": "0 ms",
"num-partitions": 1,
"replication-factor": 3
}
},
"connectors": {
"kafka-mutation": {
"connector": "kafka",
"format": "flexible-json",
"properties.bootstrap.servers": "${KAFKA_BOOTSTRAP_SERVERS}",
"properties.group.id": "${KAFKA_GROUP_ID}",
"properties.auto.offset.reset": "earliest",
"properties.compression.type": "zstd",
"topic": "${sqrl:table-name}"
},
"kafka": {
"connector": "kafka",
"format": "flexible-json",
"properties.bootstrap.servers": "${KAFKA_BOOTSTRAP_SERVERS}",
"properties.group.id": "${KAFKA_GROUP_ID}",
"properties.compression.type": "zstd",
"topic": "${sqrl:table-name}"
},
"iceberg": {
"connector": "iceberg",
"catalog-name": "default_catalog",
"catalog-table": "${sqrl:table-name}",
"warehouse": "sqrl_iceberg_data",
"format-version": 2,
"write.distribution-mode": "hash",
"commit.retry.num-retries": "20",
"commit.retry.min-wait-ms": "100",
"commit.retry.max-wait-ms": "5000"
},
"iceberg-maintenance": {
"compaction.enabled": "true",
"write.metadata.delete-after-commit.enabled": "true",
"write.metadata.previous-versions-max": "10",
"history.expire.max-snapshot-age-ms": "86400000"
},
"postgres": {
"connector": "jdbc-sqrl",
"username": "${POSTGRES_USERNAME}",
"password": "${POSTGRES_PASSWORD}",
"url": "jdbc:postgresql://${POSTGRES_AUTHORITY}",
"driver": "org.postgresql.Driver",
"table-name": "${sqrl:table-name}"
},
"print": {
"connector": "print",
"print-identifier": "${sqrl:table-name}"
}
},
"test-runner": {
"snapshot-folder": "./snapshots",
"test-folder": "./tests",
"use-inferred-schema": true,
"delay-sec": 30,
"mutation-delay-sec": 0,
"required-checkpoints": 0
}
}

Connector Template Variablesโ€‹

The connector templates configured under connectors can use environment variables and SQRL-specific variables for dynamic configuration.

Environment Variablesโ€‹

See Environment Variables for supported placeholder syntax and resolution behavior.

SQRL Variablesโ€‹

SQRL-specific variables start with a sqrl: prefix and are used for templating inside connector configuration options. The proper syntax look like ${sqrl:<identifier>}.

Supported identifiers include:

  • table-name
  • original-table-name
  • filename
  • format
  • kafka-key

These are typically used within connector templates to inject table-specific or context-aware configuration values.

warning

Unresolved ${sqrl:*} placeholders raise a validation error.