Skip to main content

Quickstart

Get a working Airtruct pipeline running in under 5 minutes.

1. Set Up Database

Airtruct supports SQLite and PostgreSQL. Set environment variables before running the coordinator, otherwise data is stored in memory and lost on restart.

SQLite (simplest)

export DATABASE_DRIVER="sqlite"
export DATABASE_URI="file:./airtruct.sqlite?_foreign_keys=1&mode=rwc"

PostgreSQL

export DATABASE_DRIVER="postgres"
export DATABASE_URI="postgres://airtruct:yourpassword@localhost:5432/airtruct?sslmode=disable"

2. Start Coordinator

./airtruct -role coordinator -grpc-port 50000

This starts the coordinator on gRPC port 50000 and the web UI on http://localhost:8080.

3. Start a Worker

In a separate terminal:

./airtruct -role worker -grpc-port 50001

The worker automatically discovers and registers with the coordinator.

4. Create Your First Stream

Open http://localhost:8080 in your browser. You'll see the Airtruct console.

  1. Click Create New Stream.
  2. Give it a name (e.g., my-first-stream).
  3. Configure an input — select Generate to produce test messages:
FieldValue
Mappingroot.id = uuid_v4() / root.message = "hello world" / root.timestamp = now()
Interval1s
Count0 (unlimited)
  1. Optionally add a processor — select Mapping to transform data:
FieldValue
Mappingroot.message = this.message.uppercase() / root.processed_at = now()
  1. Configure an output — select HTTP Client to send data somewhere, or use Drop to discard (useful for testing).

  2. Click Start to run the stream.

Next Steps