Commit Graph

  • 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