mirror of
https://github.com/pezkuwichain/pezkuwi-telemetry.git
synced 2026-10-20 18:56:21 +00:00
Debian 11 left LTS at the end of August 2026. The runtime stage's `apt-get install openssl` now fails: the index still names openssl 1.1.1w-0+deb11u8 but deb.debian.org answers 404 for the file, so the image cannot be built at all. Moving only the runtime to bookworm would break the binaries: openssl-sys is in the lock, so they link the system libssl, and a bullseye build wants libssl1.1, which bookworm does not ship. Both stages move together: the builder becomes rust:1.88-bookworm (the same toolchain ci-unified carried) and the runtime bookworm-slim, so the binaries link the libssl3 they run with.
Backend Crates
This folder contains the rust crates and documentation specific to the telemetry backend. A description of the folders:
- telemetry_core: The Telemetry Core. This aggregates data received from shards and allows UI feeds to connect and receive this information.
- telemetry_shard: A Shard. It's expected that multiple of these will run. Nodes will connect to Shard instances and send JSON telemetry to them, and Shard instances will each connect to the Telemetry Core and relay on relevant data to it.
- common: common code shared between the telemetry shard and core
- test_utils: Test utilities, primarily focused around making it easy to run end-to-end tests.
- docs: Material supporting the documentation lives here
Architecture
As we move to a sharded version of this telemetry server, this set of architecture diagrams may be useful in helping to understand the current setup (middle diagram), previous setup (first diagram) and possible future setup if we need to scale further (last diagram):
Deployment
A Dockerfile exists which builds the Shard and Telemetry Core binaries into an image. A docker-compose.yaml in the root of the repository can serve as an example of these services, along with the UI, running together.