bvandeusen
242398dc52
chore: remove config.yaml mount from docker-compose; update config example
...
- Replace individual volume mounts (playbook_cache, plugins) with single app_data:/data mount
- Change FABLEDNETMON_DATABASE__URL to FABLEDNETMON_DATABASE_URL (underscore to hyphen)
- Simplify config.example.yaml to focus on required database URL setting
- Document that other settings are now managed via the Settings UI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 20:36:26 -04:00
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