This website requires JavaScript.
001cbafe56
Merge pull request 'Ansible schedule form: structured playbook-variable fields + first-item dropdown defaults' (#2 ) from dev into main
main
bvandeusen
2026-06-30 23:44:04 -04:00
524fd1f509
feat(ansible): default source/playbook dropdowns to the first item
dev
bvandeusen
2026-06-30 23:35:01 -04:00
efc11c1837
feat(ansible): structured playbook-variable fields on the schedule form
bvandeusen
2026-06-30 23:03:54 -04:00
f40063a74d
feat(reliability): fd-leak rails — self-watchdog, poll-overlap guard, fd tests
bvandeusen
2026-06-24 10:36:53 -04:00
0c5a1573da
fix(unifi): close the cached client before discarding it (fd leak)
bvandeusen
2026-06-24 09:38:41 -04:00
2df5fc94a3
fix(snmp): close SnmpEngine after each poll to stop fd leak
bvandeusen
2026-06-24 09:10:30 -04:00
b1aabb7dfa
feat(snmp): explicit host binding (host_id / steward_host) with implicit fallback
bvandeusen
2026-06-21 13:47:20 -04:00
24df8458ea
feat(docker): swarm-aware container views — collapse replicas, show host, surface agent-less tasks
bvandeusen
2026-06-21 12:50:15 -04:00
431f804037
fix(docker): move dedup helper to a model-free module (CI green)
bvandeusen
2026-06-20 23:07:33 -04:00
e289b6c49f
fix(docker): dedup widget counts across swarm managers; show failures not stopped
bvandeusen
2026-06-20 23:02:19 -04:00
0c055ed6fa
fix(docker): reap vanished containers; clarify the resources widget
bvandeusen
2026-06-20 22:06:43 -04:00
51682f130a
feat(snmp): surface SNMP device readings on the matching host page
bvandeusen
2026-06-20 21:22:39 -04:00
8af297670e
feat(metrics): roll plugin_metrics up to hourly to bound storage
bvandeusen
2026-06-20 21:08:30 -04:00
b0d3e83bdd
feat(hosts): true live vitals strip; agent panel becomes management-only
bvandeusen
2026-06-20 19:49:01 -04:00
a35c369dd4
polish(ui): sidebar nav a11y + scroll/focus refinements (nav slice 3)
bvandeusen
2026-06-20 19:14:49 -04:00
28c9a4dd2f
fix(docker): collapse Swarm view per-cluster so multi-manager doesn't duplicate
bvandeusen
2026-06-20 12:46:57 -04:00
10dfd8ffd2
fix(host_agent): update full-metrics charts in place to kill refresh flicker
bvandeusen
2026-06-20 12:25:51 -04:00
9e4f1983f8
feat(host_agent): lazy-load full-metrics charts + live-poll current state
bvandeusen
2026-06-20 12:18:39 -04:00
a78af23793
refactor(host_agent): extract metric-query helpers to a model-free module
bvandeusen
2026-06-19 23:32:32 -04:00
aff0c36d37
perf(host_agent): aggregate metric history in SQL; DISTINCT ON for latest
bvandeusen
2026-06-19 23:23:45 -04:00
6d08db0d89
feat(hosts): rework host summary layout to use horizontal space
bvandeusen
2026-06-19 23:12:13 -04:00
3a54d6d71d
perf(metrics): index plugin_metrics for host/dashboard reads
bvandeusen
2026-06-19 23:08:29 -04:00
7d144780df
fix(host_agent): TB/PB byte scaling + rebalance the full-metrics layout
bvandeusen
2026-06-19 23:01:56 -04:00
2545e8c6ce
fix(docker): widen memory byte columns to BIGINT (int32 overflow on ingest)
bvandeusen
2026-06-19 22:50:32 -04:00
c8b6719b37
feat(ui): plugin get_nav() hook → sidebar Infrastructure links (slice 2)
bvandeusen
2026-06-19 18:00:12 -04:00
95ebdf7045
feat(ui): replace flat top nav with a grouped left sidebar (slice 1)
bvandeusen
2026-06-19 15:34:47 -04:00
0940dc6972
feat(crypto): fail loudly on unpersistable secret key; flag undecryptable secrets
bvandeusen
2026-06-19 13:52:27 -04:00
4fc8c96c41
fix(snmp): bundle pysnmp in image and port poller to the asyncio HLAPI
bvandeusen
2026-06-19 13:28:07 -04:00
88091936c5
fix(ui): unify header/breadcrumb treatment, drop redundant back buttons
bvandeusen
2026-06-18 23:07:12 -04:00
626ba69934
test(docker): parse-check templates + smoke routes/_human_bytes (milestone 77 #943 )
bvandeusen
2026-06-18 22:04:11 -04:00
9615f9abcd
feat(docker): group containers by compose/swarm + enrich widget (milestone 77 #942 )
bvandeusen
2026-06-18 22:01:12 -04:00
114262dbf9
feat(docker): swarm topology view + image/disk usage page (milestone 77 #942 )
bvandeusen
2026-06-18 21:58:19 -04:00
3e4e35de96
feat(docker): container detail page + lifecycle timeline (milestone 77 #942 )
bvandeusen
2026-06-18 21:54:54 -04:00
277eb40165
fix(docker): close read txn before second begin in disk-usage test
bvandeusen
2026-06-18 21:54:54 -04:00
a840d6f823
feat(docker): collect + persist /system/df image/disk usage (agent 1.6.0)
bvandeusen
2026-06-18 21:51:14 -04:00
faecac3ec6
feat(docker): retention + hourly rollup for metrics/events with Settings windows
bvandeusen
2026-06-18 21:40:57 -04:00
578cc33cc0
feat(docker): ingest swarm topology + lifecycle events + health/restart alerts
bvandeusen
2026-06-18 21:07:40 -04:00
448258c5b4
feat(docker): agent manager-only swarm collector (AGENT_VERSION 1.5.0)
bvandeusen
2026-06-18 20:57:18 -04:00
fee654b53a
feat(docker): schema for lifecycle events + swarm topology
bvandeusen
2026-06-18 20:47:46 -04:00
82c3d2cf36
feat(docker): per-container enrichment — health, restarts, exit code, I/O, grouping
bvandeusen
2026-06-18 20:37:40 -04:00
7b80552a7d
feat(docker): per-host collection via the host agent; drop central scrape
bvandeusen
2026-06-18 17:54:36 -04:00
35f658b573
feat(monitors): unify ping/dns/http into one Monitor entity + custom targets
bvandeusen
2026-06-18 08:56:13 -04:00
591706bd39
feat(settings): configurable monitoring thresholds
bvandeusen
2026-06-17 20:52:58 -04:00
eefa38cc75
feat(host_agent): in-widget 1h/6h/24h time-range toggle on history graph
bvandeusen
2026-06-17 20:44:56 -04:00
e7b96fbfa7
feat(host_agent): surface network, disk I/O, and temperature in fleet widget
bvandeusen
2026-06-17 20:43:33 -04:00
e446b7099e
feat(dashboard): threshold colors on Hosts-Overview ping + 24h uptime
bvandeusen
2026-06-17 20:41:44 -04:00
ae03f09234
feat(dashboard): merge top summary strip + Status widget into one Overview
bvandeusen
2026-06-17 20:40:26 -04:00
10808c1c5d
fix(dashboard): inline cpu sparkline, history graph host label + stable y-axis
bvandeusen
2026-06-17 16:44:31 -04:00
ebc67723d2
feat(host_agent): horizontal zebra-striped fleet widget rows
bvandeusen
2026-06-17 16:31:27 -04:00
fed9973899
fix(dashboard): downsample history graphs + readable tooltip time
bvandeusen
2026-06-17 16:18:50 -04:00
e58c86cf01
feat(dashboard): widget readability — name-per-line, fill graphs, container breakpoints
bvandeusen
2026-06-17 16:14:59 -04:00
cb47b5e977
feat(dashboard): per-metric sparklines in the Host Agent — Resources widget
bvandeusen
2026-06-17 16:06:05 -04:00
88dca32d3c
feat(dashboard): edit in place over the live dashboard with a bottom widget drawer
bvandeusen
2026-06-17 15:42:10 -04:00
988c13d51f
feat(dashboard): phase C richer panels — host time-series graph + cpu sparklines
bvandeusen
2026-06-17 15:18:50 -04:00
525f6eedbd
feat(dashboard): phase B drag-resize grid (Gridstack) replacing masonry
bvandeusen
2026-06-17 15:04:00 -04:00
5f92340c0c
feat(dashboard): phase A widget clarity — threshold colours, host links, tooltips
bvandeusen
2026-06-17 14:49:49 -04:00
2ea8c2f9af
feat(ansible): bundled system_update maintenance playbook
bvandeusen
2026-06-17 14:15:33 -04:00
88afad9de4
feat(hosts): re-provision action on reporting hosts; Ansible off the edit page
bvandeusen
2026-06-17 13:08:35 -04:00
71715c38d8
feat(auth): return to the original view after an auth-expiry redirect
bvandeusen
2026-06-17 13:05:37 -04:00
2594ca517d
fix(ansible): clear error when the managed SSH key can't be decrypted
bvandeusen
2026-06-17 12:52:24 -04:00
e0253fba48
fix(ansible): surface run failure reason; widget audit cleanup
bvandeusen
2026-06-17 12:46:08 -04:00
609bd78af2
feat(dashboard): unified Hosts widget + grouped widget picker
bvandeusen
2026-06-17 12:00:12 -04:00
42f7840c26
feat(ansible): steward:category + steward:confirm playbook metadata
bvandeusen
2026-06-17 11:35:35 -04:00
b32fce1d74
docs: Steward playbook-authoring conventions reference
bvandeusen
2026-06-17 11:26:56 -04:00
e5f6a11f94
feat(ansible): playbooks self-describe via "# description:" comment
bvandeusen
2026-06-17 11:25:25 -04:00
a0d1c5f07c
feat(host_agent): sparklines + load/core + PSI on the host panel
bvandeusen
2026-06-17 11:10:46 -04:00
36212dc58b
feat(host_agent): at-a-glance disk = root (/) not "worst"; metric tooltips
bvandeusen
2026-06-17 11:05:43 -04:00
f80f6c87e8
feat(auth): capture Steward URL during first-run admin setup (OOBE)
bvandeusen
2026-06-17 10:15:28 -04:00
7e6e63521b
fix(host_agent): provision/deploy vars shadowed by play-var precedence
bvandeusen
2026-06-17 10:11:30 -04:00
ad726e65f3
feat(ansible): dropdown playbook selection + auto-populated variable fields
bvandeusen
2026-06-17 10:02:15 -04:00
bb90411f00
fix(host_agent): gate "deployed" on agent check-in; fail no-op runs
bvandeusen
2026-06-17 09:50:11 -04:00
a92d1995d5
fix(ansible): write DB inventory as static YAML, not dynamic --list JSON
bvandeusen
2026-06-17 09:28:31 -04:00
9ce4cce5c5
feat(crypto): name the failing setting in wrong-key decrypt log
bvandeusen
2026-06-17 08:05:47 -04:00
cfe6b4c25f
fix(host_agent): deploy/provision 500 — double-begin on session
bvandeusen
2026-06-16 22:53:13 -04:00
17c9c875e4
refactor(hosts): remove legacy host_agent redirects/paths (no back-compat)
bvandeusen
2026-06-16 21:20:11 -04:00
7ef1af2184
feat(settings): Phase 4 — capabilities vs integrations + nav cleanup
bvandeusen
2026-06-16 20:57:10 -04:00
f29255039d
feat(hosts): Phase 2+3 — agent column, fold fleet + management into Hosts
bvandeusen
2026-06-16 20:51:33 -04:00
8bdf07f709
feat(hosts): Phase 1 — host detail hub page (unify host IA)
bvandeusen
2026-06-16 20:29:34 -04:00
6a8146b544
fix(ansible): replace steward key on reprovision + distinct agent update path
bvandeusen
2026-06-16 19:22:12 -04:00
a996cc6908
feat(ansible): per-variable fields in the playbook run form
bvandeusen
2026-06-16 17:54:01 -04:00
0318f6423f
feat(ansible): host provisioning via steward managed SSH identity
bvandeusen
2026-06-16 17:17:38 -04:00
6e91bdc82b
feat(security): encrypt sensitive settings at rest (Fernet)
bvandeusen
2026-06-16 15:22:43 -04:00
88857be24e
feat(ansible): runner robustness — cancel, concurrency, structured results, retention
bvandeusen
2026-06-16 14:51:04 -04:00
389002fc6f
feat(ui): breadcrumb navigation across nested pages
bvandeusen
2026-06-16 14:22:19 -04:00
71e4724286
feat(ansible): cross-link inventory/schedules/browse for discoverability
bvandeusen
2026-06-16 14:09:58 -04:00
c10eae1c74
feat(ansible): in-app playbook authoring/editor
bvandeusen
2026-06-16 11:39:47 -04:00
f3e919892d
feat(plugins): plugin capability registry + host_agent→Ansible deploy synergy
bvandeusen
2026-06-16 11:28:29 -04:00
656bda2e3d
feat(ansible): bundled first-party playbooks + built-in source
bvandeusen
2026-06-16 11:07:34 -04:00
4a0a3ee46e
feat(ansible): scheduled recurring playbook runs
bvandeusen
2026-06-16 11:04:02 -04:00
bca1b92cc6
feat(host_agent): Netdata-style fleet overview + per-host detail view
bvandeusen
2026-06-16 10:27:57 -04:00
f037b69c58
test(host_agent): update existing collector tests for new agent API
bvandeusen
2026-06-16 10:15:43 -04:00
a9e7baee6a
feat(host_agent): collect network, disk I/O, per-core CPU, temps, memory PSI
bvandeusen
2026-06-16 10:11:30 -04:00
3b6e005ed8
feat(status): unified Status page + widget across ping/DNS/HTTP monitors
bvandeusen
2026-06-15 22:18:29 -04:00
67a1bc740d
fix(test): call sync create_app directly in ansible inventory integration test
bvandeusen
2026-06-15 21:39:41 -04:00
b49496b57b
feat(plugins): default-enable generic bundled plugins on fresh install
bvandeusen
2026-06-15 21:24:21 -04:00
80613d6310
chore(lint): remove unused imports flagged by ruff
bvandeusen
2026-06-05 18:55:21 -04:00
923905e72d
test(ansible): integration tests for inventory tables + fetch_scope_targets
bvandeusen
2026-06-05 18:52:10 -04:00
dd0acaf623
feat(ansible): host edit page Ansible target link/create/unlink section
bvandeusen
2026-06-05 18:51:33 -04:00
37d9ca8a8a
feat(ansible): inventory targets CRUD templates
bvandeusen
2026-06-05 18:50:40 -04:00
935cbc105c
feat(ansible): inventory groups CRUD routes + templates + blueprint registration
bvandeusen
2026-06-05 18:50:09 -04:00