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 |
|