Memory API flags and environment
The operator stamps the memory-api command line from the Workspace service-group configuration. For managed deployments the fields are documented in Workspace and MemoryPolicy; this page lists the flags and environment variables of a deployment run outside the operator.
Service identity and storage
Section titled “Service identity and storage”| Flag | Environment | Purpose |
|---|---|---|
--workspace | — | Workspace name served by this instance |
--service-group | — | Service group identity |
--postgres-conn | POSTGRES_CONN | PostgreSQL connection string |
--redis-url | REDIS_URL, OMNIA_MEMORY_REDIS_URL | Redis cache/event publisher |
--cache-ttl | MEMORY_CACHE_TTL | Read-through cache TTL (default 5m; 0 disables) |
--embedding-provider | EMBEDDING_PROVIDER | Provider name used for embeddings |
--rerank-provider | RERANK_PROVIDER | Provider name used for policy-enabled reranking. Enterprise; ignored in Core |
When both --workspace and --service-group are set, memory-api reads the
Workspace at startup and takes the PostgreSQL connection, the embedding and
rerank provider names, and the workspace UID from the service group, overriding
the flags above.
Workers
Section titled “Workers”| Flag | Environment | Operator default | Purpose |
|---|---|---|---|
--reembed-interval | REEMBED_INTERVAL | 60m | Periodic embedding backfill; empty disables |
--reembed-batch-size | REEMBED_BATCH_SIZE | 500 (worker default) | Rows per backfill batch; the operator stamps spec.services[].memory.reembed.batchSize when set |
--reembed-concurrency | REEMBED_CONCURRENCY | 2 (worker default) | Batches embedded at once; the operator stamps spec.services[].memory.reembed.concurrency when set |
--compaction-interval | COMPACTION_INTERVAL | not set | Temporal-summarization compaction worker; empty disables. The operator does not set it. The only summarizer is a placeholder that replaces memories with a stub |
--tombstone-interval | TOMBSTONE_INTERVAL | 24h | Tombstone cleanup of long supersession chains; empty disables |
--retention-interval | RETENTION_INTERVAL | not set | Out-of-cluster only: a TTL-only retention pass on this interval. In a cluster the retention worker is driven by the bound MemoryPolicy’s schedule |
--consolidation-interval | CONSOLIDATION_INTERVAL | chart workspaceServices.memoryApi.consolidation.interval (empty) | Enterprise. How often consolidation schedules are checked; empty disables |
--projection-interval | PROJECTION_INTERVAL | chart workspaceServices.memoryApi.projection.interval (empty) | Enterprise. How often projection gates are checked; empty disables |
--default-ttl | DEFAULT_TTL | not set | Write-time TTL when neither the caller nor the tier’s ttl.default sets one |
--require-about-for-kinds | REQUIRE_ABOUT_FOR_KINDS | not set | Kinds that must carry an about hint; unioned with the policy’s dedup.requireAboutForKinds |
The ingestion fallbacks (--ingest-strategy, --ingest-summarizer,
--ingest-chunk-size, --ingest-chunk-overlap, with matching INGEST_*
variables) apply when the bound MemoryPolicy’s ingestion block leaves a field
unset.
The on-demand POST /admin/reembed endpoint is bounded separately: it accepts
up to 200 batches per request and defaults to one batch. It does not change the
periodic worker interval.
Authentication
Section titled “Authentication”When internal service authentication is enabled, memory-api reads the shared
session-api settings: SESSION_API_AUTH_ENABLED (--auth-enabled),
SESSION_API_AUTH_ALLOWED_SUBJECTS, SESSION_API_AUTH_ALLOWED_NAMESPACES, and
SESSION_API_AUTH_AUDIENCES. The memory-api does not use a separate
memory-specific token format.