Commit Graph

195 Commits

Author SHA1 Message Date
bvandeusen dfb433e779 feat: settings UI (admin-only, live-updates app.config)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 20:35:39 -04:00
bvandeusen c5dff7ec8c feat: two-phase migrations, DB settings loading in create_app
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 20:33:36 -04:00
bvandeusen 03bbd8d0fa feat: strip config.py to bootstrap only (db_url + auto-gen secret_key) 2026-03-18 20:32:02 -04:00
bvandeusen 80ce703a15 feat: settings service (get/set/load helpers, load_settings_sync) 2026-03-18 20:29:52 -04:00
bvandeusen e6fa8baed1 feat: AppSetting model and migration 0004
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 20:22:23 -04:00
bvandeusen 38416b412a fix: dockerfile install order; add .dockerignore; update .gitignore 2026-03-18 19:57:05 -04:00
bvandeusen 4cc83c8a19 fix: use relative imports in traefik plugin to prevent double-registration; resolve PLUGIN_DIR path 2026-03-18 18:46:02 -04:00
bvandeusen 2164ea28f2 feat: traefik UI (per-router dashboard with SVG sparklines) 2026-03-18 18:43:05 -04:00
bvandeusen aacfcd420e feat: traefik scrape task (delta tracking, DB write, record_metric) 2026-03-18 18:38:54 -04:00
bvandeusen 8ea2b09d05 fix: cap percentile at last finite bucket when target falls in open +Inf bucket 2026-03-18 18:38:03 -04:00
bvandeusen c336f1f774 feat: traefik prometheus scraper (parse, compute rates and percentiles) 2026-03-17 21:37:34 -04:00
bvandeusen 0af38016cd feat: traefik plugin migration (traefik_001_initial, depends_on core head)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 21:34:40 -04:00
bvandeusen 6fde57f63e feat: traefik plugin scaffold (plugin.yaml, model, __init__ stub) 2026-03-17 21:32:14 -04:00
bvandeusen 13f2a6f2d6 fix: preserve enabled key in merged plugin config; revert trailing slash on url_prefix 2026-03-17 21:31:11 -04:00
bvandeusen 400e0ee1b4 fix: use trailing slash in plugin blueprint url_prefix 2026-03-17 21:29:38 -04:00
bvandeusen c6b3672a49 feat: add plugin manager (load, validate, register plugins) 2026-03-17 21:28:37 -04:00
bvandeusen ae57f2f9da fix: always set version_locations explicitly in migration runner 2026-03-17 21:27:43 -04:00
bvandeusen 415fe7eba9 feat: add migration runner and wire into create_app
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 21:12:06 -04:00
bvandeusen 763cbda3ac feat: wire ansible blueprint, startup interrupted-run marker, git-pull task, cleanup
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:33:14 -04:00
bvandeusen 60e2040284 fix: ansible routes validation, SSE dedup, scoped querySelector, status_color fallback
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:31:17 -04:00
bvandeusen 94e0f20f98 feat: add ansible routes and templates (browse, run, stream, detail)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:27:51 -04:00
bvandeusen 2fd9d331d6 feat: add ansible executor with SSE broadcast and DB flush 2026-03-17 20:23:34 -04:00
bvandeusen b7fba8ab5e fix: validate required url/path fields in get_sources 2026-03-17 20:22:52 -04:00
bvandeusen 90aaf8f80c feat: add ansible source discovery (local + git) 2026-03-17 20:20:48 -04:00
bvandeusen c18b707093 feat: add AnsibleRun model and migration 0003 2026-03-17 20:17:56 -04:00
bvandeusen 7dbb662c38 feat: wire monitors, scheduler, alerts, and nav into app
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 20:01:31 -04:00
bvandeusen 75b0233c94 feat: alert rules and active alerts UI 2026-03-17 19:57:53 -04:00
bvandeusen 3f3f55b83f feat: host management UI (CRUD) 2026-03-17 19:57:51 -04:00
bvandeusen 1ef4983de6 feat: data retention cleanup task 2026-03-17 19:50:58 -04:00
bvandeusen fd380b1024 feat: ping and DNS monitor coroutines 2026-03-17 19:50:49 -04:00
bvandeusen 7fe686d366 feat: email and webhook notification dispatch 2026-03-17 19:50:25 -04:00
bvandeusen 4d81a50d7c feat: record_metric() and alert state machine 2026-03-17 19:46:18 -04:00
bvandeusen c8d7b8c043 feat: core scheduler and migrations utility 2026-03-17 19:45:47 -04:00
bvandeusen 00c65457a0 feat: migration 0002 for hosts, monitors, metrics, and alert tables 2026-03-17 19:43:51 -04:00
bvandeusen 97199a9d94 fix: add explicit ondelete behavior to alert FK references 2026-03-17 19:42:56 -04:00
bvandeusen cdcf00a1cf feat: data models for hosts, monitors, metrics, and alerts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 19:41:37 -04:00
bvandeusen 2408a80489 feat: Docker and systemd deployment files 2026-03-17 19:09:06 -04:00
bvandeusen 686fc2b1e1 feat: base layout and auth/dashboard templates 2026-03-17 19:08:46 -04:00
bvandeusen 6ca25e94a0 feat: session auth, role middleware, login/setup/logout routes 2026-03-17 19:06:06 -04:00
bvandeusen 5c25953929 feat: Quart app factory with health endpoint 2026-03-17 18:55:15 -04:00
bvandeusen ff8489f758 feat: User model and initial Alembic migration 2026-03-17 18:52:01 -04:00
bvandeusen 9205e1bcf1 feat: SQLAlchemy async database setup 2026-03-17 18:48:35 -04:00
bvandeusen f8b82b65a3 feat: configuration loader with env var overrides
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 18:43:57 -04:00
bvandeusen dec4155ffa chore: project scaffold with pyproject.toml and version
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 18:38:53 -04:00
bvandeusen bb091bf1f7 chore: initialize repo with .gitignore
Excludes planning docs, Python artifacts, secrets, and runtime data.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 22:26:31 -04:00