Local Testing with MinIO
Run the ingest server against a local S3-compatible store without AWS credentials.
Start MinIO
docker run -p 9000:9000 -p 9001:9001 \
-e MINIO_ROOT_USER=minioadmin -e MINIO_ROOT_PASSWORD=minioadmin \
minio/minio server /data --console-address ":9001"
Create a bucket in the MinIO console at http://localhost:9001
Configure ingest server
In apps/ingest-server/.env:
ENDPOINT_URL=http://localhost:9000
AWS_ACCESS_KEY_ID=minioadmin
AWS_SECRET_ACCESS_KEY=minioadmin
S3_BUCKET=your-bucket-name
DuckDB S3 setup
In apps/ingest-server/queries/01-setup.sql, add to the CREATE SECRET block:
, ENDPOINT 'localhost:9000', USE_SSL false
End-to-end test
- Start MinIO and the ingest server
- Point the SDK at
http://localhost:8787/batch - Call
client.optIn()thenclient.capture('test_event') - Call
client.flush() - Query Parquet files with DuckDB
See Ingest server for full setup.