-
3382bd956b
test(host_agent): stale-agent filter (pure function)

bvandeusenandClaude Sonnet 4.6
2026-04-15 00:30:42 -04:00
-
f7e21c0a21
feat(host_agent): register widgets and alert metric catalog entry

bvandeusenandClaude Sonnet 4.6
2026-04-14 22:31:31 -04:00
-
ded768c089
test(host_agent): install.sh template render + agent.py source parse

bvandeusenandClaude Sonnet 4.6
2026-04-14 22:29:15 -04:00
-
5e0bfcc2b0
test(host_agent): pure-function tests for metric expansion

bvandeusenandClaude Sonnet 4.6
2026-04-14 22:27:08 -04:00
-
673ba72510
test(host_agent): agent POST, backoff, and main loop

bvandeusenandClaude Sonnet 4.6
2026-04-14 22:22:45 -04:00
-
8bed58073b
test(host_agent): ring buffer and payload builder unit tests

bvandeusenandClaude Sonnet 4.6
2026-04-14 22:09:12 -04:00
-
b6b1c8adca
test(host_agent): agent resource collectors unit tests

bvandeusenandClaude Sonnet 4.6
2026-04-14 22:07:39 -04:00
-
6056bad01e
test(host_agent): agent config parser unit tests

bvandeusenandClaude Sonnet 4.6
2026-04-14 21:44:46 -04:00
-
b1cfc377da
docs(plugins): host_agent plan — path 1 note (no DB tests)

bvandeusenandClaude Opus 4.6
2026-04-14 18:13:41 -04:00
-
98003f3458
docs(plugins): host_agent implementation plan

bvandeusenandClaude Opus 4.6
2026-04-13 23:46:37 -04:00
-
e243e0e0e1
docs(plugins): host-agent plugin design spec

bvandeusenandClaude Opus 4.6
2026-04-13 23:35:12 -04:00
-
d6e094bbb5
refactor: remove broken NUT/UPS plugin and managed-NUT startup

bvandeusenandClaude Opus 4.6
2026-04-13 22:41:08 -04:00
-
0596f1d9c1
docs: roundtable rename sweep
bvandeusen
2026-04-13 20:16:25 -04:00
-
55a4fac3e9
copy: flip visible wordmark → Roundtable
bvandeusen
2026-04-13 18:40:30 -04:00
-
62d28b1032
build: docker-compose service → roundtable
bvandeusen
2026-04-13 18:40:26 -04:00
-
ee0b22bafd
chore(compose): mount docker socket and traefik log path
bvandeusen
2026-04-13 18:06:05 -04:00
-
a64f2195de
feat: ROUNDTABLE_* env vars with FABLEDSCRYER_* fallback
bvandeusen
2026-04-13 17:40:16 -04:00
-
fcd26346a2
build: container paths point at roundtable package

bvandeusenandClaude Opus 4.6
2026-04-13 17:27:00 -04:00
-
fad1c12eac
feat: fabledscryer→roundtable import alias shim

bvandeusenandClaude Opus 4.6
2026-04-13 17:26:30 -04:00
-
1ecc831673
build: point alembic at roundtable/migrations

bvandeusenandClaude Opus 4.6
2026-04-13 17:14:14 -04:00
-
2df0d421c2
build: rename package to roundtable in pyproject

bvandeusenandClaude Opus 4.6
2026-04-13 17:14:07 -04:00
-
94a35da86e
refactor: update imports fabledscryer → roundtable

bvandeusenandClaude Opus 4.6
2026-04-13 17:13:55 -04:00
-
8aad2ab43d
refactor: rename package directory fabledscryer → roundtable

bvandeusenandClaude Opus 4.6
2026-04-13 17:10:31 -04:00
-
fd9c6d941d
style(login): placeholder labels instead of field headers

bvandeusenandClaude Opus 4.6
2026-04-13 16:39:06 -04:00
-
ce43a3900b
style(login): larger wordmark + tagline, drop Sign In heading

bvandeusenandClaude Opus 4.6
2026-04-13 16:37:35 -04:00
-
c6401d8416
feat(login): Roundtable wordmark above tagline

bvandeusenandClaude Opus 4.6
2026-04-13 16:13:36 -04:00
-
6c883e4121
copy: relocate "Under Watch, Under Care" to login tagline

bvandeusenandClaude Opus 4.6
2026-04-13 15:45:05 -04:00
-
4d154653ba
copy: dashboard hero "Under Watch, Under Care"

bvandeusenandClaude Opus 4.6
2026-04-13 14:58:38 -04:00
-
b0d9e9b6ad
feat: themed 404 and 500 pages

bvandeusenandClaude Opus 4.6
2026-04-13 14:57:45 -04:00
-
b6954bd9d2
copy: broader themed empty states + restore DNS CTA

bvandeusenandClaude Opus 4.6
2026-04-13 14:56:41 -04:00
-
5a701e0558
copy: themed empty states + login tagline

bvandeusenandClaude Opus 4.6
2026-04-13 14:55:10 -04:00
-
ba2c698801
style: candlelit glow background replaces star field

bvandeusenandClaude Opus 4.6
2026-04-13 14:52:27 -04:00
-
e83c69c6c2
feat: heraldic seal logo (crown & ellipse table)

bvandeusenandClaude Opus 4.6
2026-04-13 14:51:47 -04:00
-
33df0c2f9a
style: swap Libertinus Serif → EB Garamond

bvandeusenandClaude Opus 4.6
2026-04-13 14:51:19 -04:00
-
e8691bc7e4
style: pewter & gold palette tokens

bvandeusenandClaude Opus 4.6
2026-04-13 14:51:12 -04:00
-
1f6404f0fd
docs: rebrand implementation plan

bvandeusenandClaude Opus 4.6
2026-04-13 14:40:26 -04:00
-
39074252d1
docs: rebrand design spec (FabledScryer → Roundtable)

bvandeusenandClaude Opus 4.6
2026-04-13 14:30:40 -04:00
-
00dc4cdc9c
feat: per-plugin settings pages and multi-repo plugin catalog

bvandeusenandClaude Sonnet 4.6
2026-03-23 18:41:31 -04:00
-
8558d15eeb
feat: plugin fault isolation notices + NUT managed mode fixes

bvandeusenandClaude Sonnet 4.6
2026-03-23 18:04:53 -04:00
-
56283df5a1
feat: Ansible source manager UI — replace raw JSON textarea

bvandeusenandClaude Sonnet 4.6
2026-03-23 17:24:35 -04:00
-
edc9b752d2
feat: drag-and-drop dashboard editing, alert dynamic fields

bvandeusenandClaude Sonnet 4.6
2026-03-23 08:16:04 -04:00
-
93d5ed8fb0
feat: managed NUT setup, plugin config improvements, migration fix

bvandeusenandClaude Sonnet 4.6
2026-03-23 08:15:48 -04:00
-
ced1eebe1d
feat: maintenance windows, reports, uptime widget, alert improvements

bvandeusenandClaude Sonnet 4.6
2026-03-23 08:15:30 -04:00
-
3c70ac56b3
feat: OIDC/LDAP auth, audit log, maintenance windows, migrations

bvandeusenandClaude Sonnet 4.6
2026-03-23 08:15:15 -04:00
-
484da1f263
feat: show update available when catalog version differs from installed

bvandeusenandClaude Sonnet 4.6
2026-03-22 18:42:50 -04:00
-
-
3f437141fb
chore: update plugin catalog URL to git.fabledsword.com

bvandeusenandClaude Sonnet 4.6
2026-03-22 18:36:09 -04:00
-
fa318073f1
chore: move plugins/ to separate repo, gitignore the directory

bvandeusenandClaude Sonnet 4.6
2026-03-22 18:33:22 -04:00
-
230b542015
feat: rename to FabledScryer, multi-dashboard system, plugin management, branding

bvandeusenandClaude Sonnet 4.6
2026-03-22 18:27:56 -04:00
-
165a202ba4
feat: UI redesign (CSS system, DNS widget, Traefik dashboard widget)

bvandeusenandClaude Sonnet 4.6
2026-03-18 23:37:46 -04:00
-
d29c5b3eab
fix: suppress debconf frontend warnings during apt-get install
bvandeusen
2026-03-18 23:25:44 -04:00
-
a3a05070e7
fix: upgrade pip, run as non-root user, remove stale FABLEDNETMON_CONFIG env
bvandeusen
2026-03-18 23:23:52 -04:00
-
7a7ed2185a
feat: live ping pill widget (dashboard + /ping/ page with threshold settings)
bvandeusen
2026-03-18 23:18:26 -04:00
-
791af2d58f
feat: ping/DNS status and latency in hosts list and dashboard summary
bvandeusen
2026-03-18 23:09:49 -04:00
-
c26552b670
fix: install iputils-ping in Docker image for ICMP ping support
bvandeusen
2026-03-18 23:03:58 -04:00
-
d8eacffd48
fix: env.py reads FABLEDNETMON_DATABASE_URL and honors URL set by migration_runner
bvandeusen
2026-03-18 22:40:05 -04:00
-
f9ea87187b
test: update test_config.py for load_bootstrap API
bvandeusen
2026-03-18 22:31:17 -04:00
-
242398dc52
chore: remove config.yaml mount from docker-compose; update config example

bvandeusenandClaude Sonnet 4.6
2026-03-18 20:36:26 -04:00
-
dfb433e779
feat: settings UI (admin-only, live-updates app.config)

bvandeusenandClaude Sonnet 4.6
2026-03-18 20:35:39 -04:00
-
c5dff7ec8c
feat: two-phase migrations, DB settings loading in create_app

bvandeusenandClaude Sonnet 4.6
2026-03-18 20:33:36 -04:00
-
03bbd8d0fa
feat: strip config.py to bootstrap only (db_url + auto-gen secret_key)
bvandeusen
2026-03-18 20:32:02 -04:00
-
80ce703a15
feat: settings service (get/set/load helpers, load_settings_sync)
bvandeusen
2026-03-18 20:29:52 -04:00
-
e6fa8baed1
feat: AppSetting model and migration 0004

bvandeusenandClaude Sonnet 4.6
2026-03-18 20:22:23 -04:00
-
38416b412a
fix: dockerfile install order; add .dockerignore; update .gitignore
bvandeusen
2026-03-18 19:57:05 -04:00
-
4cc83c8a19
fix: use relative imports in traefik plugin to prevent double-registration; resolve PLUGIN_DIR path
bvandeusen
2026-03-18 18:46:02 -04:00
-
2164ea28f2
feat: traefik UI (per-router dashboard with SVG sparklines)
bvandeusen
2026-03-18 18:43:05 -04:00
-
aacfcd420e
feat: traefik scrape task (delta tracking, DB write, record_metric)
bvandeusen
2026-03-18 18:38:54 -04:00
-
8ea2b09d05
fix: cap percentile at last finite bucket when target falls in open +Inf bucket
bvandeusen
2026-03-18 18:38:03 -04:00
-
c336f1f774
feat: traefik prometheus scraper (parse, compute rates and percentiles)
bvandeusen
2026-03-17 21:37:34 -04:00
-
0af38016cd
feat: traefik plugin migration (traefik_001_initial, depends_on core head)

bvandeusenandClaude Sonnet 4.6
2026-03-17 21:34:40 -04:00
-
6fde57f63e
feat: traefik plugin scaffold (plugin.yaml, model, __init__ stub)
bvandeusen
2026-03-17 21:32:14 -04:00
-
13f2a6f2d6
fix: preserve enabled key in merged plugin config; revert trailing slash on url_prefix
bvandeusen
2026-03-17 21:31:11 -04:00
-
400e0ee1b4
fix: use trailing slash in plugin blueprint url_prefix
bvandeusen
2026-03-17 21:29:38 -04:00
-
c6b3672a49
feat: add plugin manager (load, validate, register plugins)
bvandeusen
2026-03-17 21:28:37 -04:00
-
ae57f2f9da
fix: always set version_locations explicitly in migration runner
bvandeusen
2026-03-17 21:27:43 -04:00
-
415fe7eba9
feat: add migration runner and wire into create_app

bvandeusenandClaude Sonnet 4.6
2026-03-17 21:12:06 -04:00
-
763cbda3ac
feat: wire ansible blueprint, startup interrupted-run marker, git-pull task, cleanup

bvandeusenandClaude Sonnet 4.6
2026-03-17 20:33:14 -04:00
-
60e2040284
fix: ansible routes validation, SSE dedup, scoped querySelector, status_color fallback

bvandeusenandClaude Sonnet 4.6
2026-03-17 20:31:17 -04:00
-
94e0f20f98
feat: add ansible routes and templates (browse, run, stream, detail)

bvandeusenandClaude Sonnet 4.6
2026-03-17 20:27:51 -04:00
-
2fd9d331d6
feat: add ansible executor with SSE broadcast and DB flush
bvandeusen
2026-03-17 20:23:34 -04:00
-
b7fba8ab5e
fix: validate required url/path fields in get_sources
bvandeusen
2026-03-17 20:22:52 -04:00
-
90aaf8f80c
feat: add ansible source discovery (local + git)
bvandeusen
2026-03-17 20:20:48 -04:00
-
c18b707093
feat: add AnsibleRun model and migration 0003
bvandeusen
2026-03-17 20:17:56 -04:00
-
7dbb662c38
feat: wire monitors, scheduler, alerts, and nav into app

bvandeusenandClaude Sonnet 4.6
2026-03-17 20:01:31 -04:00
-
75b0233c94
feat: alert rules and active alerts UI
bvandeusen
2026-03-17 19:57:53 -04:00
-
3f3f55b83f
feat: host management UI (CRUD)
bvandeusen
2026-03-17 19:57:51 -04:00
-
1ef4983de6
feat: data retention cleanup task
bvandeusen
2026-03-17 19:50:58 -04:00
-
fd380b1024
feat: ping and DNS monitor coroutines
bvandeusen
2026-03-17 19:50:49 -04:00
-
7fe686d366
feat: email and webhook notification dispatch
bvandeusen
2026-03-17 19:50:25 -04:00
-
4d81a50d7c
feat: record_metric() and alert state machine
bvandeusen
2026-03-17 19:46:18 -04:00
-
c8d7b8c043
feat: core scheduler and migrations utility
bvandeusen
2026-03-17 19:45:47 -04:00
-
00c65457a0
feat: migration 0002 for hosts, monitors, metrics, and alert tables
bvandeusen
2026-03-17 19:43:51 -04:00
-
97199a9d94
fix: add explicit ondelete behavior to alert FK references
bvandeusen
2026-03-17 19:42:56 -04:00
-
cdcf00a1cf
feat: data models for hosts, monitors, metrics, and alerts

bvandeusenandClaude Sonnet 4.6
2026-03-17 19:41:37 -04:00
-
2408a80489
feat: Docker and systemd deployment files
bvandeusen
2026-03-17 19:09:06 -04:00
-
686fc2b1e1
feat: base layout and auth/dashboard templates
bvandeusen
2026-03-17 19:08:46 -04:00
-
6ca25e94a0
feat: session auth, role middleware, login/setup/logout routes
bvandeusen
2026-03-17 19:06:06 -04:00
-
5c25953929
feat: Quart app factory with health endpoint
bvandeusen
2026-03-17 18:55:15 -04:00
-
ff8489f758
feat: User model and initial Alembic migration
bvandeusen
2026-03-17 18:52:01 -04:00
-
9205e1bcf1
feat: SQLAlchemy async database setup
bvandeusen
2026-03-17 18:48:35 -04:00
-
f8b82b65a3
feat: configuration loader with env var overrides

bvandeusenandClaude Sonnet 4.6
2026-03-17 18:43:57 -04:00