---
title: "Ingest settings"
summary: "Settings for how telemetry arrives and how it is batched before it is written."
description: "Telemetry batching and the default namespace."
status: preview
generated: true
read_when:
  - "Exporters cannot reach the instance."
  - "You are tuning write throughput or flush latency."
---

Every setting below is read once at startup and requires a restart to change.
Built-in defaults are overridden by nonempty environment values.
For the first Pitot alpha, unset `PITOT_` variables accept `FANOUT_` equivalents with a names-only deprecation warning. Explicitly empty primary variables block fallback.
Unknown `PITOT_` names fail startup; platform-injected service names are tolerated.
Vendor credentials and endpoints keep the vendor's documented names.

| Environment variable | Type | Default |
|---|---|---|
| `PITOT_DEFAULT_NAMESPACE` | string | `default` |
| `PITOT_INGEST_BATCH_SIZE` | integer | `50000` |
| `PITOT_INGEST_MAX_IN_FLIGHT_BYTES` | integer | `268435456` |
| `PITOT_INGEST_TOKEN` or `PITOT_INGEST_TOKEN_FILE` | string · secret | — |

## Notes

### `PITOT_DEFAULT_NAMESPACE`

Supplies the namespace for telemetry without one.

### `PITOT_INGEST_BATCH_SIZE`

Sets the group-commit row target; valid values are 1–50000. Individual requests remain atomic and can exceed this target.

### `PITOT_INGEST_MAX_IN_FLIGHT_BYTES`

Caps decoded telemetry held across concurrent requests until durable publication. Zero is unbounded. A single request is admitted when no other request holds budget, even if it exceeds the limit.

### `PITOT_INGEST_TOKEN`

Sets the first ingest token, named configuration, when none has ever existed, so an automated install accepts telemetry as soon as it starts. Use foi_ plus 43 base64url characters. Only its digest is stored. It is ignored once any token has existed, including a revoked one, so a restart cannot bring back a revoked token.

> **Secrets**
>
> Settings marked `secret` are redacted from Pitot's startup configuration
> log. Supply either the value or its `_FILE` path, never both. File contents
> lose exactly one trailing newline (LF or CRLF); empty secrets fail startup.
