Skip to content

Breeze Core 3.0.5

Choose a tag to compare

@monikapurpl3 monikapurpl3 released this 16 Aug 10:11
· 49 commits to main since this release

GET /api/system — everything this deployment knows about itself

One endpoint that answers the question "what am I actually running?", added to back the Breeze app's new Nerd screen (tap the version in Settings seven times). It reports:

  • Host — distro/OS pretty name, kernel, init system (systemd · OpenRC · runit · rc.d · launchd · Windows SCM · or pid 1's name in a container), CPU model, architecture, cores, byte order, libc, machine uptime
  • Runtime — Python version and implementation, whether this is a frozen bundle, and the version of every dependency (msmart-ng, fastapi, uvicorn, starlette, pydantic, …)
  • This deployment — build commit, process uptime, install date, time zone and UTC offset, pid and RSS, the paths and file modes of config.json / devices.json / programs.json, and the effective settings
  • Units — each one's address, whether it has V3 credentials, whether a connection is cached, its history sample count, and its capabilities where they're already known
  • Devices — every enrolled client with its auth version, enrolment date, last use and expiry
  • This connection — the IP the server sees you as, whether that reads as private, the Host header, scheme, HTTP version, X-Forwarded-For and proxy state — which is the fastest way to diagnose a proxy that isn't forwarding the real client address

Requires the API key and a device credential — the same bar as controlling a unit. It contains no secrets: not the API key, not device public keys, not per-unit V3 token/keys (has_v3_credentials is a boolean), and a test greps the raw response to keep it that way. Every field can be null: each fact is probed defensively so an undeterminable one degrades instead of failing the request. Feature flag system_info; full reference in docs/API.md.

Also

  • OpenBSD uptime — it reports kern.boottime as a bare epoch where FreeBSD/NetBSD/macOS print { sec = … }. Found by running the probes on the actual VMs rather than assuming "the BSDs" agree. Verified on FreeBSD 15.1, NetBSD 11.0 and OpenBSD 7.9.
  • Packaging — when Docker Desktop silently fails to share a bind mount (the container starts, /work is just empty), the packaging step now streams inputs and artifacts over stdio instead.
  • build-installer.ps1 is saved with a BOM so Windows PowerShell 5.1 can parse it.

Packages for deb · rpm · pacman · apk · tarballs (glibc/musl × amd64/arm64), FreeBSD .pkg, NetBSD .tgz, and the Windows installer are attached. musl/riscv64 follows shortly — it compiles every dependency from source under emulation. The signed repo at https://bolero.salataputarica.hr.eu.org is updated with the same build.