If no personal/org Cloud Storage is configured, Steward does not store bodies by default. You can optionally enable local body columns in Postgres for debugging via
logging.store_request_body / logging.store_response_body in Steward config.Where to configure
- Personal: Settings → Cloud Body Storage
- Organization: Settings → Organization Cloud Body Storage
Amazon S3 setup
- Create a bucket (e.g.,
your-llm-logs). - Choose an authentication method:
- Recommended: instance role / workload identity attached to where Steward runs; leave access keys blank.
- Alternative: Access Key ID / Secret Access Key scoped to this bucket.
- In the dashboard form, select Provider = S3 and fill:
- Bucket (required)
- Region (default
us-east-1) - Endpoint (optional — for S3‑compatible services like MinIO or Cloudflare R2)
- Access Key ID / Secret Access Key (only if not using instance role)
- Save. The status badge shows “S3 Configured”.
What Steward writes
- Object per request with gzipped JSON containing request headers/body and response headers/body.
- Key format includes API key id, request id, and timestamp for easy lookup.
Google Cloud Storage setup
- Create a GCS bucket (e.g.,
your-llm-logs). - Create a service account (e.g.,
majordomo-storage@<project>.iam.gserviceaccount.com) and grant Storage Object Admin on the bucket. - Generate a JSON key for that service account.
- In the dashboard form, select Provider = GCS and fill:
- Bucket (required)
- Project ID (optional but recommended)
- Service Account JSON (paste the key JSON)
- Save. The status badge shows “GCS Configured”.
Data handling rules
- Bodies are uploaded to your bucket when a valid per‑user or per‑org config exists.
- If neither is configured, Steward will not upload bodies; metadata is still logged.
Troubleshooting
- “Configured” badge missing: open Settings → Cloud Body Storage and ensure required fields are saved for the correct scope.
- S3 upload errors: verify IAM permissions for PutObject/ListBucket and that Region/Endpoint are correct. MinIO/R2 require setting the custom Endpoint.
- GCS upload errors: confirm the service account has Storage Object Admin and the pasted JSON is valid.
Related Steward variables
Cloud storage credentials and bucket details are managed in the dashboard and encrypted at rest. You rarely need to touch these, but Steward exposes env vars for Postgres body storage if needed for local debugging:| Variable | Default | Description |
|---|---|---|
LOG_STORE_REQUEST_BODY | false | Store request bodies in Postgres. For debugging only. |
LOG_STORE_RESPONSE_BODY | false | Store response bodies in Postgres. For debugging only. |