7a444da871
feat(audit): every row keeps its date; dividers for Today, Yesterday, Last 7 days, Older (#5214)
bvandeusenandClaude Opus 5.52026-10-08 08:22:03 -04:00
6a81cf4aac
feat: times in the reader's own zone; the audit log shows exact moments (milestone 490)
bvandeusenandClaude Opus 5.52026-10-08 07:56:27 -04:00
c678379646
fix(ansible): group names Ansible accepts, and interpreter discovery without the warning (#5334)
bvandeusenandClaude Opus 5.52026-10-08 00:01:54 -04:00
e37cd0a873
test(alerts): check the history's Action column on one rule's rows, which the test owns (#5316)
bvandeusenandClaude Opus 5.52026-10-07 23:06:33 -04:00
429629be61
fix(docker): the overview's failed count sits in the heading of the list it counts, no tile row beside it; stale moves into the verdict (#5214)
bvandeusenandClaude Opus 5.52026-10-07 20:38:04 -04:00
8566c8f78e
feat(docker): Docker disk is recorded over time per host, the Disk page shows each host's growth and folds images under their repository, and the overview has one disk line per host (#5304–#5306)
bvandeusenandClaude Opus 5.52026-10-07 20:16:13 -04:00
0b5cd23d38
test(docker): a filtered overview leaves the service out of its table, not out of the failures list (#5299)
bvandeusenandClaude Opus 5.52026-10-07 20:14:33 -04:00
aae61f1d2c
feat(docker): the Swarm page is laid out by node: role, what its containers use, and the services placed on each (#5303)
bvandeusenandClaude Opus 5.52026-10-07 20:11:46 -04:00
a775882bd4
test(docker): a plugin template can take its own name; the overview's assertions follow its new tables (#5299, #5302)
bvandeusenandClaude Opus 5.52026-10-07 20:11:46 -04:00
2093f399e6
feat(docker): the Docker page leads with a verdict, lists services and containers as filterable tables, and each service has its own page with logs across its tasks (#5298–#5302)
bvandeusenandClaude Opus 5.52026-10-07 20:08:38 -04:00
2990113e10
feat(hosts): the Hosts list searches, filters by group and status, sorts by column, and shows each host's groups (#5294)
bvandeusenandClaude Opus 5.52026-10-07 18:53:03 -04:00
fb20415a38
feat(hosts): a host's health tiles span the card and the gaps match; Add host is a dialog on the list (#5290, #5291)
bvandeusenandClaude Opus 5.52026-10-07 18:22:48 -04:00
bfe3618e88
feat(hosts): the Hosts list labels its figures and says how long; SLA tab gone; one place to add a host (#5279–#5283)
bvandeusenandClaude Opus 5.52026-10-07 17:12:17 -04:00
d4974ddf6c
feat(hosts): a host's page stays short — Docker folds past the busiest, monitors add on their own form, agent actions under Manage (#5276, #5277, #5278)
bvandeusenandClaude Opus 5.52026-10-07 17:08:46 -04:00
6788ce60f1
feat(monitors): a DNS monitor can name a resolver; the host page puts Ansible above Docker (#5214)
bvandeusenandClaude Opus 5.52026-10-07 16:14:11 -04:00
c6fc02def5
feat(monitors): a monitor's page reads as a page — response time over 24h, labelled actions, how long, not "ago"; the add form says what each type checks (#5214)
bvandeusenandClaude Opus 5.52026-10-07 15:57:09 -04:00
a7b280aed9
fix(monitors): the check strip fills its column; TLS shows only when a monitor has a certificate (#5214)
bvandeusenandClaude Opus 5.52026-10-07 15:48:44 -04:00
eaf9f1bcb8
fix(traefik): request chart redraws once the dashboard has placed it, and refreshes every 5 min (#5214)
bvandeusenandClaude Opus 5.52026-10-07 15:24:29 -04:00
30f4de3612
fix(docker): drop the unused .w-meter style; the bars test reads the loaded plugin's models (#5214)
bvandeusenandClaude Opus 5.52026-10-07 15:08:15 -04:00
05eaca3f2f
feat(docker): Busiest Containers shows bars of the last hours beside each figure, scaled to the row's peak with a floor (#5214)
bvandeusenandClaude Opus 5.52026-10-07 15:05:06 -04:00
8eedae365b
fix(dashboard): heights fit content to 10px, not a whole 70px row; text columns read from the left (#5214)
bvandeusenandClaude Opus 5.52026-10-07 14:54:24 -04:00
c3ba850a9c
fix(traefik): bucket history with date_bin; integer-epoch division never grouped scrapes (#5256)
bvandeusenandClaude Opus 5.52026-10-07 13:33:38 -04:00
39b6066f3b
feat(traefik): request chart shows the total, a time axis and a weighted 5xx share; says why if it can't draw (#5256)
bvandeusenandClaude Opus 5.52026-10-07 13:28:55 -04:00
ea5531ac8f
feat(traefik): Routers widget shows current routers only, one header row, certs on the routers they serve (#5254)
bvandeusenandClaude Opus 5.52026-10-07 13:25:11 -04:00
3737d08fd9
fix(dashboard): read a widget's poll_seconds as an attribute, so a namespace defn renders (#5213)
bvandeusenandClaude Opus 5.52026-10-07 00:46:36 -04:00
5492336f1e
feat(dashboard): a curated default layout, merged duplicate widgets, a labelled Overview (#5213)
bvandeusenandClaude Opus 5.52026-10-07 00:42:04 -04:00
5a14e7c693
feat(ui): alerts, monitors, hosts, schedules and maintenance lists put problems first, with since-times (#5210)
bvandeusenandClaude Opus 5.52026-10-06 23:58:56 -04:00
61b22056d5
feat(docker): readable names, CPU in cores and memory in bytes, failures listed with since-times (#5209)
bvandeusenandClaude Opus 5.52026-10-06 23:41:14 -04:00
1845ba973c
perf(monitors): a monitor's latest results by a LATERAL probe, not row_number over its history (#5208)
bvandeusenandClaude Opus 5.52026-10-06 23:08:39 -04:00
b8f73270e7
perf(metrics): a latest-value table for "what is it now"; dashboard cells say loading, failed and as-of (#5208)
bvandeusenandClaude Opus 5.52026-10-06 23:06:34 -04:00
a90320be00
ci: revert the forced boot-check failure; the gate was seen to block the push (rule 177)
bvandeusenandClaude Opus 5.52026-10-06 21:43:45 -04:00
b307f53bf7
ci: TEMPORARY forced failure of the boot check, to watch it block the push (rule 177; reverted next)
bvandeusenandClaude Opus 5.52026-10-06 21:38:23 -04:00
98854d94f9
feat(platform): tini as PID 1, Hypercorn, a log-level setting, the image on CI's Python, an airgapped boot gate before push (#5159)
bvandeusenandClaude Opus 5.52026-10-06 21:29:21 -04:00
3c24c633df
fix(ansible): overlapping runs: one per host, one per schedule, one action run per alert rule (#5158)
bvandeusenandClaude Opus 5.52026-10-06 21:24:51 -04:00
edcfa4d3db
fix(ansible): git sources work in the image and survive a redeploy; pulls time out; alert vars go in a JSON file (#5157)
bvandeusenandClaude Opus 5.52026-10-06 21:13:14 -04:00
d2ade9c1c7
fix(ansible): runs end cleanly: output read in chunks, the process group always ended, a cancelled task recorded (#5156)
bvandeusenandClaude Opus 5.52026-10-06 21:08:30 -04:00
9fdd67a675
feat(retention): every growing table is pruned; the audit log has its own window; charts read the raw window from Settings (#5155)
bvandeusenandClaude Opus 5.52026-10-06 21:05:22 -04:00
326a9cd254
fix(docker): a container that crashes between two samples leaves a die event and its last log lines (#5049)
bvandeusenandClaude Opus 5.52026-10-06 20:58:46 -04:00
4978d28a51
fix(docker): the slow-ingest line names which part of the Docker persist took the time (#5181)
bvandeusenandClaude Opus 5.52026-10-06 20:50:05 -04:00
bf339ed28c
fix(ui): status text readable on its tint over a hovered row, a 3:1 outline on controls, contrast as a CI guard (#5096)
bvandeusenandClaude Opus 5.52026-10-06 19:30:37 -04:00
ad4f7d9232
fix(metrics): time-series rows get time-ordered ids, so an insert stops costing a disk read (#5149)
bvandeusenandClaude Opus 5.52026-10-06 18:58:41 -04:00
ade078cabf
feat(host_agent): agent 1.10 — backoff inside the stale window, posts of five, a deadline on Docker, /system/df every ten minutes (#5154)
bvandeusenandClaude Opus 5.52026-10-06 18:48:28 -04:00
bcd0563f39
feat(docker): uptime from StartedAt, a restart is an event, host totals count physical devices only (#5153)
bvandeusenandClaude Opus 5.52026-10-06 18:45:57 -04:00
8ceb983183
feat(docker): Docker's own status reaches Steward — an empty answer clears a host, a lost one greys it, a demoted manager's swarm rows go (#5152)
bvandeusenandClaude Opus 5.52026-10-06 18:41:22 -04:00
fc9730a2e5
feat(host_agent): say where a slow ingest spends its time, and how far a dropped one got (#5149)
bvandeusenandClaude Opus 5.52026-10-06 18:28:30 -04:00
414c942cbf
feat(plugins): Traefik problems first, UniFi/SNMP/fleet on shared shapes, audit names its entities, templates on tokens (#5126)
bvandeusenandClaude Opus 5.52026-10-06 18:25:09 -04:00
6caf737917
test: render plugin templates through render_template with the plugin's folder in front (#5122)
bvandeusenandClaude Opus 5.52026-10-06 18:06:04 -04:00