Quickstart

Up and running in 5 minutes. Self-hosted, no SDK required.

1Build

terminal
cargo build --release

2Run

terminal
DATABASE_URL=postgres://user:pass@localhost/mydb \
PROXY_ADDR=0.0.0.0:5433 \
API_ADDR=0.0.0.0:8080 \
./target/release/astapa-proxy

3Create session

terminal
curl -X POST http://localhost:8080/sessions \
  -H "Content-Type: application/json" \
  -d '{"project_id": "demo"}'

# Returns: {"id": "sess_abc123", ...}

4Connect and write

psql
psql "host=localhost port=5433 dbname=mydb options='-c astapa_session=sess_abc123'"

SELECT * FROM users;  # Reads work normally
UPDATE users SET role = 'admin' WHERE id = 5;  # Writes are isolated

5Review

terminal
curl http://localhost:8080/sessions/sess_abc123/diff

6Approve or discard

terminal
# Approve — applies to production
curl -X POST http://localhost:8080/sessions/sess_abc123/approve

# Or discard
curl -X DELETE http://localhost:8080/sessions/sess_abc123