Configuration reference
Quartz Line treats the on-disk blob as the source of truth and everything else as a cache that can be rebuilt. A single binary and a config file are the whole deployment; there is no agent and no sidecar.
Overview
Quartz Line was written for the case where a full cluster is more operational surface than the workload deserves. A single binary and a config file are the whole deployment; there is no agent and no sidecar.
Note. This is not a replacement for a distributed log. If you need cross-region replication, run something that was designed for it.
What to watch
Quartz Line treats the on-disk blob as the source of truth and everything else as a cache that can be rebuilt. Reads are served from a memory-mapped view of the blob, so the page cache does the caching and Quartz Line does not duplicate it. Nothing is written outside the data directory. Deleting it resets Quartz Line to a clean state. Metrics are exposed in Prometheus text format on the admin port, which is separate from the data port on purpose.
[server]
listen = "0.0.0.0:8080"
admin = "127.0.0.1:9100"
data_dir = "/var/lib/cachectl"
[limits]
max_batch = 2048
max_artifact_bytes = 256_000
flush_interval = "500ms"
[retention]
default = "168h"
compact_at = 0.6Overview
Quartz Line treats the on-disk blob as the source of truth and everything else as a cache that can be rebuilt. Logs go to stderr as structured JSON by default, or as plain lines when the output is a terminal.
Configuration
At its core Quartz Line is a single process that owns one directory on disk and one listening socket. The upstream mirror keeps an in-memory index and rebuilds it from the blob at startup, which costs about a second per gigabyte. Ordering is guaranteed within a repository and explicitly not guaranteed across them. Upgrades are in place: stop, replace the binary, start. The on-disk format is forward compatible within a major version.
curl -sS https://static.easytrip.club/v1/repositorys \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "orders", "retention": "72h"}'Configuration
Quartz Line was written for the case where a full cluster is more operational surface than the workload deserves. An acknowledged write survives a hard kill of the process; it does not survive loss of the underlying disk.
Note. Single-node by design. High availability, when you need it, comes from running two instances behind a load balancer with disjoint repository sets.