Skip to content

strix-ingest CLI

The strix-ingest binary is a standalone command-line tool for bulk ingestion with batching, parallelism, and retry logic. By default it auto-detects workers and batch size, and adapts concurrency at runtime based on server feedback.

Installation

Download from the releases page or build from source:

go build -o strix-ingest ./cmd/strix-ingest

Usage

# Basic usage (auto mode)
strix-ingest --url https://strix.example.com --token strix_ingest_abc123... file.json

# Multiple files
strix-ingest --url https://strix.example.com --token $TOKEN *.json

# Recursive directory ingestion
strix-ingest --url https://strix.example.com --token $TOKEN \
  --recursive /var/log/exports/

# Override auto-detected parameters
strix-ingest --url https://strix.example.com --token $TOKEN \
  --workers 8 --batch-size 2000 *.json

Supported File Formats

  • JSON (arrays or single objects)
  • NDJSON (newline-delimited JSON)
  • CSV
  • TSV

Options

Flag Default Description
--url, -u http://localhost:8080 Strix server URL
--token, -t (required) Ingest token
--batch-size, -b auto (5000) Logs per batch
--workers, -w auto (CPU cores) Concurrent upload workers
--limit, -l unlimited Max logs per file
--recursive, -r false Recursively find files in subdirectories
--insecure, -k false Skip TLS certificate verification

When --workers and --batch-size are omitted, strix-ingest runs in auto mode: it detects initial parameters from system resources and adapts concurrency at runtime based on server feedback (429 responses). Providing either flag switches to manual mode with fixed values.

The CLI automatically retries on 429 (rate limit / queue full) and 5xx errors with exponential backoff (up to 5 retries).