From f6f419277cbbb06a955fdadac71a75aa0dc6d752 Mon Sep 17 00:00:00 2001 From: lda Date: Tue, 13 Oct 2026 02:28:32 +0700 Subject: [PATCH] oh three seven the big tracing update 37 + 73 = 100 btw 1. tracing - much more tracing across agent and cc - metrics, logs and spans exported through otlp (grpc) - console logs, otlp logs and traces have independent filters now - follow a command from cc to agent, or a snapshot from collection to storage, in one trace - exporters retry temporary failures with backoff and keep queues bounded - prolonged collector outages can lose telemetry - exporter and transport diagnostics stay in console logs so exports don't generate more exports - check out them fields at docs/telemetry.md - process them with guides from docs/telemetry-recipes.md 2. more process info - agent and cc report process/host uptime, process RSS, CPU time and open file descriptors - the FD count includes files, sockets and pipes - host total/available memory and 1/5/15-minute load are included where supported - these are available through otlp now, with a UI view planned later 3. config duration now uses time strings - instead of `*_seconds` or `*_days` which is bullshit - write durations like "30s", "60d" or "1h 30m", parsed by humantime - check docs/config-durations.md - old numeric keys still load and produce a deprecation warning - init-config --from-config rewrites those keys into the new format and keeps your telemetry and access settings - api/ws numeric fields and existing numeric cli flags are unchanged 4. devices - clearer labels in the UI - rename or forget saved devices - remember, attach and merge keep the details dialog open - details stay accessible even when the device drops out of your current list filters - presence comes from endpoints, and unnamed devices get better fallback names - renaming with an invalid name returns 400, while storage failures return 500 5. backend cleanup - this helps with tracing - ~~no more~~ less long asf fns - related device reads share a SQLite transaction for a consistent view - snapshot traces show pool wait, transaction begin, row writes and commit separately - wake lookup searches the full fleet, including devices beyond the UI list's 1,000-row cap 6. fleet collection caching - reuse the grouped view until DB or connected-agent state changes - if changes keep interrupting a rebuild, return 503 fleet_busy so the caller can retry - current fleet/device/endpoint counts are also available as metrics - cool 7. origin auth - docs/origin-auth.md - validate Cloudflare Access tokens at the origin - caddy calls cc's /internal/auth/verify before proxying protected routes - configure [access] with the protected app's issuer and AUD - the signing-key URL defaults from the issuer and can be overridden - cache signing keys according to HTTP freshness headers and revalidate with ETag/Last-Modified - update the caddy config! - keep cc bound to loopback so requests go through caddy's auth checks - agent endpoints continue using their own authentication - closing the confirmed origin bypass requires BOTH the cc config and the caddy update 8. retention + deployment bits - device_retention defaults to "60d", and "0d" disables expiry - an agent-collected device's retention age resets whenever cc receives a snapshot containing it - complete snapshots immediately remove rows the agent has omitted - saved devices and their manually attached identifiers remain saved - OpenWrt UCI/environment setup, credential-entry fixes and an updated copy script Ping, multi-CC, the process-info UI and profiling are planned for later. all codex btw idfk what these do there are things to do. --- Cargo.lock | 10 +++++----- Cargo.toml | 2 +- wakey-agent/Cargo.toml | 2 +- wakey-control-plane/Cargo.toml | 2 +- wakey-core/Cargo.toml | 2 +- wakey-linux/Cargo.toml | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ee8f801..f21f474 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3720,7 +3720,7 @@ dependencies = [ [[package]] name = "wakey" -version = "0.3.6" +version = "0.3.7" dependencies = [ "anyhow", "chrono", @@ -3741,7 +3741,7 @@ dependencies = [ [[package]] name = "wakey-agent" -version = "0.3.6" +version = "0.3.7" dependencies = [ "anyhow", "clap", @@ -3766,7 +3766,7 @@ dependencies = [ [[package]] name = "wakey-control-plane" -version = "0.3.6" +version = "0.3.7" dependencies = [ "anyhow", "axum", @@ -3795,7 +3795,7 @@ dependencies = [ [[package]] name = "wakey-core" -version = "0.3.6" +version = "0.3.7" dependencies = [ "anyhow", "humantime", @@ -3821,7 +3821,7 @@ dependencies = [ [[package]] name = "wakey-linux" -version = "0.3.6" +version = "0.3.7" dependencies = [ "anyhow", "futures", diff --git a/Cargo.toml b/Cargo.toml index bffcfd7..ae90bed 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wakey" -version = "0.3.6" +version = "0.3.7" edition = "2024" publish = ["gitea"] diff --git a/wakey-agent/Cargo.toml b/wakey-agent/Cargo.toml index 7e4001d..6a0c82f 100644 --- a/wakey-agent/Cargo.toml +++ b/wakey-agent/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wakey-agent" -version = "0.3.6" +version = "0.3.7" edition = "2024" publish = ["gitea"] diff --git a/wakey-control-plane/Cargo.toml b/wakey-control-plane/Cargo.toml index f0e6483..81f0426 100644 --- a/wakey-control-plane/Cargo.toml +++ b/wakey-control-plane/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wakey-control-plane" -version = "0.3.6" +version = "0.3.7" edition = "2024" publish = ["gitea"] diff --git a/wakey-core/Cargo.toml b/wakey-core/Cargo.toml index 66cb34e..6019628 100644 --- a/wakey-core/Cargo.toml +++ b/wakey-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wakey-core" -version = "0.3.6" +version = "0.3.7" edition = "2024" publish = ["gitea"] diff --git a/wakey-linux/Cargo.toml b/wakey-linux/Cargo.toml index 59f77f1..edd93d7 100644 --- a/wakey-linux/Cargo.toml +++ b/wakey-linux/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wakey-linux" -version = "0.3.6" +version = "0.3.7" edition = "2024" publish = ["gitea"]