Skip to content

Environment variables

Every KYMA_* variable the engine reads at startup or during a worker's config-from-env hook. Defaults are the values the binary falls back to when the variable is absent. Areas group related flags so a deploy config stays coherent.

Most env vars also have CLI-flag equivalents on kyma-bin. The CLI flag wins over the env var, which wins over the default.

Catalog

NameDefaultPurpose
KYMA_CATALOG_URLpostgres://kyma:kyma_dev@localhost:5433/kymaPostgres connection URL for the catalog. Used by kyma-bin and kyma-cli alike.

HTTP server

NameDefaultPurpose
KYMA_HTTP_ADDR0.0.0.0:8080HTTP listen address. Serves query, ingest, agent, etc.
KYMA_SCHEMA_CACHE_TTL_SECS5TTL for the GET /v1/catalog/schema server-side cache.

gRPC (Arrow Flight)

NameDefaultPurpose
KYMA_GRPC_ADDR0.0.0.0:9090Arrow Flight listen address. Set to off to disable the gRPC server entirely.

OTLP gRPC

NameDefaultPurpose
KYMA_OTLP_ADDRoffOTLP gRPC listen address (conventional 0.0.0.0:4317). off disables the receiver.
KYMA_OTLP_DATABASEdefaultTarget database for OTLP-received logs. Tables auto-created as otel_logs.

Object store

S3-compatible (works with MinIO, AWS S3, R2, GCS via S3 API).

NameDefaultPurpose
KYMA_PATH_PREFIXkymaPath prefix prepended to every object key.
KYMA_S3_ENDPOINTunsetS3 endpoint URL (e.g. http://localhost:9000 for MinIO). Empty → AWS S3.
KYMA_S3_REGIONus-east-1Region passed to the S3 client.
KYMA_S3_BUCKETkymaBucket name.
KYMA_S3_ACCESS_KEY_IDunsetAccess key. Falls back to the AWS credential chain when unset.
KYMA_S3_SECRET_ACCESS_KEYunsetSecret key.
KYMA_S3_PATH_STYLEtruePath-style addressing (vs. virtual-hosted). Set false for virtual-host style.
KYMA_S3_ALLOW_HTTPtrueAllow plain HTTP (for local MinIO). Set false to require TLS.

Auth

NameDefaultPurpose
KYMA_AUTH_TOKENSunsetComma-separated token:role pairs (e.g. alice-tok:admin,reader-tok:read). Empty / unset disables auth.

Roles: readwriteadmin. A higher role grants everything below it.

Ingest staging (group commit)

NameDefaultPurpose
KYMA_STAGING_DISABLEDunset (off)Set to 1 or true to disable group-commit. Each ingest request becomes one extent.
KYMA_FLUSH_MAX_ROWS8000Per-table flush trigger — row count.
KYMA_FLUSH_MAX_BYTES16777216Per-table flush trigger — bytes (16 MiB).
KYMA_FLUSH_MAX_AGE_MS50Per-table flush trigger — wall-clock age.
KYMA_COMMIT_WINDOW_MS5Commit-coordinator window. Flushes within this window land in one snapshot.
KYMA_COMMIT_MAX_EXTENTS128Maximum extents the coordinator collapses into a single snapshot.

Compaction, retention, GC

NameDefaultPurpose
KYMA_COMPACTION_IDLE_SLEEP_MSbin defaultSleep between work polls when the compaction queue is empty.
KYMA_COMPACTION_POLL_SECSbin defaultScheduler poll interval (seconds).
KYMA_COMPACTION_MIN_EXTENTSbin defaultMinimum extent count per (table, time-bucket) before compaction fires.
KYMA_RETENTION_POLL_SECSbin defaultRetention sweeper poll interval (seconds).
KYMA_PHYSICAL_GC_POLL_SECSbin defaultPhysical-delete worker poll interval (seconds).
KYMA_PHYSICAL_GC_GRACE_SECSbin defaultGrace period between soft-delete and hard-delete (seconds).

File-drop

NameDefaultPurpose
KYMA_FILEDROP_ENABLEDunset1 or true enables the file-drop watcher.
KYMA_FILEDROP_PREFIXESingestComma-separated object-store prefixes to watch.
KYMA_FILEDROP_PREFIXunsetLegacy single-prefix form. KYMA_FILEDROP_PREFIXES wins when both are set.
KYMA_FILEDROP_POLL_SECS5Watcher poll interval.
KYMA_FILEDROP_DELETE_AFTER_INGESTfalseDelete the source object after it commits. Off by default — replays remain idempotent.
KYMA_FILEDROP_AUTO_CREATEtrueCreate the database + table on first sight.
KYMA_FILEDROP_SCHEMA_EVOLVEtrueAdd new columns mid-batch.

Kafka

NameDefaultPurpose
KYMA_KAFKA_ENABLEDunset1 or true enables the Kafka consumer.
KYMA_KAFKA_BROKERSlocalhost:9092Comma-separated broker list.
KYMA_KAFKA_GROUPkyma-ingestConsumer group id.
KYMA_KAFKA_TOPICSunsetComma-separated topic:database.table mappings. Required to enable.
KYMA_KAFKA_BATCH_SIZE500Per-batch row count.
KYMA_KAFKA_BATCH_TIMEOUT_MS500Per-batch wall-clock timeout.

Connectors

NameDefaultPurpose
KYMA_CONNECTOR_WORKERS4Number of connector-runner tasks pulling work off the connector queue.

Per-connector secrets are resolved through the EnvSecretStore — config values written as $env:VAR_NAME resolve to whatever std::env::var("VAR_NAME") returns at fetch time.

Agent

NameDefaultPurpose
KYMA_AGENT_OLLAMA_HOSThttp://localhost:11434Ollama host the agent talks to.
KYMA_AGENT_MODELbin defaultOllama model id (e.g. llama3.2). Persisted into agent_runs.model_id.

Embeddings

For dense-vector ingestion + nearest-neighbour scan. Selects the embedding backend at startup.

NameDefaultPurpose
KYMA_EMBED_PROVIDERfastembedOne of fastembed, ollama, openai-compat, gemini.
KYMA_EMBED_MODEL_IDprovider-specific (e.g. bge-small-en-v1.5)Model id passed to the provider.
KYMA_EMBED_BASE_URLprovider-specificBase URL for HTTP-based providers (Ollama, OpenAI-compat).
KYMA_EMBED_MODEL_PATHunsetLocal model path for fastembed (overrides id).
KYMA_EMBED_API_KEY_ENVOPENAI_API_KEYEnv var to read the API key from (for openai-compat).

gemini reads the API key from GOOGLE_API_KEY (fixed).

Logging

tracing-subscriber reads the standard RUST_LOG env var. The default filter is info,sqlx=warn,hyper=warn,h2=warn.