Connection
Pxxl supports two destination kinds:
For S3-compatible storage, enter:
Pxxl stores credentials in protected credential storage. The database keeps only a reference to them and the non-secret destination settings.
For an HTTPS destination, enter the public URL and configure the token or headers the endpoint expects. Pxxl sends
Content-Type: application/x-ndjson, Content-Encoding: gzip, and a Pxxl user agent. A configured token is sent as a Bearer token.
S3-compatible flow
Pxxl batches events and writes objects with a time-partitioned key:Create a drain
1
Prepare the destination
Create a dedicated bucket or prefix. Make sure the endpoint is public HTTPS and the key can write to the selected location.
2
Open Log Drains
From the project, open Settings > Log Drains and create a destination.
3
Enter the S3 settings
Add the endpoint, bucket, region, prefix, access key, and secret key. Select the log sources you want to export.
4
Test the destination
Use the destination test. Pxxl emits a test event and attempts an immediate delivery.
5
Enable the project subscription
Attach the drain to the project, then produce fresh output and confirm a new object appears in the bucket.
AWS CLI preflight
Run these checks with a restricted test credential before entering the values in Pxxl:PXXL_ENDPOINT to https://ACCOUNT_ID.r2.cloudflarestorage.com and set AWS_REGION=auto. For MinIO, use its public HTTPS endpoint and configured region.
Least-privilege AWS policy
For a log-only prefix, the access key can be limited to bucket inspection and object writes. Add read or delete permissions only if your retention workflow needs them.Monitoring and failures
The drain test and project settings show whether the destination is active. Pxxl records delivery attempts in its outbox and retries failed deliveries with backoff. A delivery is marked failed after repeated attempts. A drain can become disabled after an extended failure period, so check the destination’s last error and update its credentials or endpoint before enabling it again. Use the destination’s bucket lifecycle rules to expire or archive old objects. Pxxl does not use an external bucket as a replacement for the project’s Live Logs view.HTTPS destinations
An HTTPS drain receives a compressed NDJSON request. The endpoint must use a public HTTPS hostname that does not resolve to a private, loopback, metadata, multicast, or reserved network. Pxxl follows only a small number of redirects and validates each destination again. Your receiver should:- authenticate the Bearer token or configured header;
- accept the gzip encoded body;
- return a
2xxresponse after safely storing the payload; - process events asynchronously if the receiver needs more time.
