Project Configuration
# Programming language used in the project (`Typescript` or `Python`)
language = "Typescript"
# Map of supported old versions and their locations (Default: {})
# supported_old_versions = { "0.1.0" = "path/to/old/version" }
# List of configured cron jobs (Default: [])
# cron_jobs = [
# { name = "job1", schedule = "* * * * *", script = "path/to/script1.py" },
# { name = "job2", schedule = "0 0 * * *", script = "path/to/script2.ts" }
# ]
# RedPanda streaming configuration (also aliased as `kafka_config`)
[redpanda_config]
# Broker connection string (e.g., "host:port") (Default: "localhost:19092")
broker = "localhost:19092"
# Message timeout in milliseconds (Default: 1000)
message_timeout_ms = 1000
# Default retention period in milliseconds (Default: 30000)
retention_ms = 30000
# Replication factor for topics (Default: 1)
replication_factor = 1
# SASL username for authentication (Default: None)
# sasl_username = "user"
# SASL password for authentication (Default: None)
# sasl_password = "password"
# SASL mechanism (e.g., "PLAIN", "SCRAM-SHA-256") (Default: None)
# sasl_mechanism = "PLAIN"
# Security protocol (e.g., "SASL_SSL", "PLAINTEXT") (Default: None)
# security_protocol = "SASL_SSL"
# Namespace for topic isolation (Default: None)
# namespace = "my_namespace"
# ClickHouse database configuration
[clickhouse_config]
# Database name (Default: "local")
db_name = "local"
# ClickHouse user (Default: "panda")
user = "panda"
# ClickHouse password (Default: "pandapass")
password = "pandapass"
# Whether to use SSL for connection (Default: false)
use_ssl = false
# ClickHouse host (Default: "localhost")
host = "localhost"
# ClickHouse HTTP port (Default: 18123)
host_port = 18123
# ClickHouse native protocol port (Default: 9000)
native_port = 9000
# Optional host path to mount as the ClickHouse data volume (uses Docker volume if None) (Default: None)
# host_data_path = "/path/on/host/clickhouse_data"
# HTTP server configuration for local development
[http_server_config]
# Host to bind the webserver to (Default: "localhost")
host = "localhost"
# Port for the main API server (Default: 4000)
port = 4000
# Port for the management server (Default: 5001)
management_port = 5001
# Optional path prefix for all routes (Default: None)
# path_prefix = "api"
# Redis configuration
[redis_config]
# Redis connection URL (Default: "redis://127.0.0.1:6379")
url = "redis://127.0.0.1:6379"
# Namespace prefix for all Redis keys (Default: "MS")
key_prefix = "MS"
# Git configuration
[git_config]
# Name of the main branch (Default: "main")
main_branch_name = "main"
# Temporal workflow configuration
[temporal_config]
# Temporal database user (Default: "temporal")
db_user = "temporal"
# Temporal database password (Default: "temporal")
db_password = "temporal"
# Temporal database port (Default: 5432)
db_port = 5432
# Temporal server host (Default: "localhost")
temporal_host = "localhost"
# Temporal server port (Default: 7233)
temporal_port = 7233
# Temporal server version (Default: "1.22.3")
temporal_version = "1.22.3"
# Temporal admin tools version (Default: "1.22.3")
admin_tools_version = "1.22.3"
# Temporal UI version (Default: "2.21.3")
ui_version = "2.21.3"
# Temporal UI port (Default: 8080)
ui_port = 8080
# Temporal UI CORS origins (Default: "http://localhost:3000")
ui_cors_origins = "http://localhost:3000"
# Temporal dynamic config path (Default: "config/dynamicconfig/development-sql.yaml")
config_path = "config/dynamicconfig/development-sql.yaml"
# PostgreSQL version for Temporal database (Default: "13")
postgresql_version = "13"
# Path to Temporal client certificate (mTLS) (Default: "")
client_cert = ""
# Path to Temporal client key (mTLS) (Default: "")
client_key = ""
# Path to Temporal CA certificate (mTLS) (Default: "")
ca_cert = ""
# API key for Temporal Cloud connection (Default: "")
api_key = ""
# JWT (JSON Web Token) authentication configuration (Optional)
[jwt]
# Enforce JWT on all consumption APIs (Default: false)
enforce_on_all_consumptions_apis = false
# Enforce JWT on all ingestion APIs (Default: false)
enforce_on_all_ingest_apis = false
# Secret key for JWT signing (Required if jwt section is present)
# secret = "your-jwt-secret"
# JWT issuer (Required if jwt section is present)
# issuer = "your-issuer-name"
# JWT audience (Required if jwt section is present)
# audience = "your-audience-name"
# General authentication configuration
[authentication]
# Optional hashed admin API key for auth (Default: None)
# admin_api_key = "hashed_api_key"
# Feature flags
[features]
# Enable the streaming engine (Default: true)
streaming_engine = true
# Enable Temporal workflows (Default: false)
workflows = false
# Enable ongoing data model redesign V2 (Default: false)
data_model_v2 = false