Tachyontachyon

Configuration

Every CLI flag, environment variable, and auth setting Tachyon supports.

Tachyon has no config file — every setting is a CLI flag, or the equivalent environment variable.

Flags and environment variables

FlagEnv varDefaultDescription
--listenTACHYON_LISTEN0.0.0.0:8108Address to listen on
--data-dirTACHYON_DATA_DIR./dataDirectory for collections, segments, and the WAL
--sync-interval-msTACHYON_SYNC_INTERVAL_MS0WAL fsync interval — 0 fsyncs before acknowledging every write
--max-memtable-docsTACHYON_MAX_MEMTABLE_DOCS100000Documents held in memory before a flush to a new segment
--merge-trigger-segmentsTACHYON_MERGE_TRIGGER_SEGMENTS8Segment count that triggers a background merge
--merge-fan-inTACHYON_MERGE_FAN_IN4Segments folded together per merge
--admin-keyTACHYON_ADMIN_KEYunsetAPI key with full read/write access
--search-keyTACHYON_SEARCH_KEYunsetAPI key with read-only access
--logTACHYON_LOGinfoLog filter, tracing-subscriber EnvFilter syntax
--healthcheckCheck a locally running instance is healthy, then exit (used as the Docker HEALTHCHECK)

See Persistence for what the memtable/segment/merge settings actually control.

Authentication

If neither --admin-key nor --search-key is set, Tachyon runs fully open — anyone who can reach the port has full read/write access. That's fine on localhost during development, and not fine on a network anyone else can reach.

Once either key is set, requests must present it in the x-tachyon-api-key header:

curl localhost:8108/collections \
  -H 'x-tachyon-api-key: your-admin-key'
  • Admin key — full read and write access to every route.
  • Search key — read-only: any request whose HTTP method isn't GET/HEAD/OPTIONS is rejected with 403 forbidden, even with a valid search key. Safe to embed in a client application.
  • A missing key on a route that requires one returns 401 unauthorized.
  • /health, and the built-in /docs and /api-docs/openapi.json Swagger routes, are always public regardless of auth configuration.

For a production deployment, set --admin-key for your own tooling and --search-key for anything client-facing.

On this page