One Dockerfile, and capping cardinality
There is one Docker file for the whole server now, with ARG APP_NAME picking which binary to build and BuildKit cache mounts so it doesn't compile everything from scratch every time. Sixteen almost-identical Dockerfiles is sixteen places to forget a change.
The dimension limiter is the interesting one. A dimension with too many distinct values ruins a table in ClickHouse, so the limiter caps how many values each one keeps and everything else falls into other. It's a lossy decision and I'd rather take it on purpose than discover the table is slow in three months.
Also: stats materialized views and time stats queries fixed again, sessions have expanded rows with the event timeline inside, there is a config UI for the aggregation dimensions, and journeys go up to 6 steps with a per-step limit.




