Commit Graph

  • 2c991eabd2 feat(ansible): scope picker in run form + create_run() DB inventory generation bvandeusen 2026-06-05 18:49:02 -04:00
  • d906232eb2 feat(ansible): GIT_ASKPASS per-source HTTP token auth + settings UI bvandeusen 2026-06-05 18:48:00 -04:00
  • ea47169049 feat(ansible): generate_inventory() + fetch_scope_targets() + unit tests bvandeusen 2026-06-05 18:46:22 -04:00
  • 10df05c13e feat(ansible): add inventory_scope to AnsibleRun — 0017_ansible_run_scope migration bvandeusen 2026-06-05 18:45:38 -04:00
  • fa32488fdf feat(ansible): AnsibleGroup + join table — 0016_ansible_inventory_groups migration bvandeusen 2026-06-05 18:45:16 -04:00
  • c11b3f01ed feat(ansible): AnsibleTarget model + 0015_ansible_inventory_targets migration bvandeusen 2026-06-05 18:45:00 -04:00
  • eb319d715e docs: Ansible inventory infrastructure implementation plan bvandeusen 2026-06-05 18:19:17 -04:00
  • 06dc5073ca fix(deploy): explicit backend network for steward↔db traffic bvandeusen 2026-06-05 11:37:10 -04:00
  • 98edb12abb fix(deploy): let app own secret key — remove STEWARD_SECRET_KEY from deploy compose bvandeusen 2026-06-05 11:28:53 -04:00
  • ef6c90c022 Revert "fix(deploy): move POSTGRES_PASSWORD default into .env.example" bvandeusen 2026-06-05 11:25:31 -04:00
  • 42d9a7ba07 fix(deploy): move POSTGRES_PASSWORD default into .env.example bvandeusen 2026-06-05 11:24:29 -04:00
  • fe57dde57b feat(ci): publish steward image to the registry + remote-deploy compose bvandeusen 2026-06-05 11:08:43 -04:00
  • 38f61b71c1 feat(ansible): run a playbook against a single Steward host (task 547) bvandeusen 2026-06-02 19:26:58 -04:00
  • 0bf007173b feat(ansible): credentials — SSH key, become, vault, host-key checking (task 548) bvandeusen 2026-06-02 18:41:58 -04:00
  • 0a36a57901 chore(dev): mount ./ansible-dev as a local Ansible source at /srv/ansible bvandeusen 2026-06-02 17:58:18 -04:00
  • 534ed030b8 test(alerts): commit the test user before the rule's created_by FK bvandeusen 2026-06-02 14:31:25 -04:00
  • 43a5325e69 fix(alerts): persist AlertOperator by value to match the DB enum bvandeusen 2026-06-02 14:27:25 -04:00
  • 4771d17f6d feat(alerts): run an Ansible playbook on alert firing (task 250) bvandeusen 2026-06-02 14:22:29 -04:00
  • 8b62eb2ca3 feat(ansible): parameterized runs — extra-vars, limit, tags, dry-run (task 546) bvandeusen 2026-06-02 13:31:16 -04:00
  • 5af7312a72 fix(ansible): shorten migration 0012 revision id to fit alembic_version(32) bvandeusen 2026-06-02 11:35:55 -04:00
  • fb579bcf97 feat(ansible): ship ansible in image + allow system-triggered runs (task 545) bvandeusen 2026-06-02 11:31:43 -04:00
  • ccc7601182 fix(docker): stop ignoring plugins/ in image build; dev-friendly compose bvandeusen 2026-06-02 10:35:58 -04:00
  • 712aec60c1 test(host_agent): assert parsed agent version matches AGENT_VERSION constant bvandeusen 2026-06-01 12:14:53 -04:00
  • 3b2146bc7a feat(host_agent): agent reports its primary IP; mirror into Host.address (task 274) bvandeusen 2026-06-01 12:11:41 -04:00
  • af60ca446d fix(plugins): complete steward rename across bundled plugins; clear lint debt bvandeusen 2026-06-01 11:22:20 -04:00
  • d925709c77 ci: add Forgejo CI (lint + unit + Postgres integration) + ci-requirements.md bvandeusen 2026-06-01 08:37:32 -04:00
  • a7a281cb11 feat(plugins): fold first-party plugins in-tree; bundled + external roots bvandeusen 2026-06-01 08:37:24 -04:00
  • 88ab5b917e chore: rename project Roundtable → Steward bvandeusen 2026-04-25 16:20:14 -04:00
  • e118543b2e feat(dashboard): use public_base_url helper for share link generation bvandeusen 2026-04-16 00:18:45 -04:00
  • b7293588be feat(settings): public_base_url field in general settings UI bvandeusen 2026-04-15 20:30:12 -04:00
  • 5bc8ef2566 feat(settings): add public_base_url helper with request.host_url fallback bvandeusen 2026-04-15 20:29:49 -04:00
  • 3a3d094a2a test(settings): failing tests for public_base_url helper bvandeusen 2026-04-15 20:29:28 -04:00
  • 2c68ba5094 feat(settings): cache PUBLIC_BASE_URL into app.config on reload bvandeusen 2026-04-15 20:29:13 -04:00
  • fdbcc58385 feat(settings): add general.public_base_url default bvandeusen 2026-04-15 20:29:02 -04:00
  • dbe50794d3 Merge pull request 'feat: host_agent plugin — push-model host resource monitoring' (#1) from feat/host-agent into main bvandeusen 2026-04-15 13:43:57 +00:00
  • 44cc2f2fce docs(plugins): catalog entry for host_agent feat/host-agent bvandeusen 2026-04-15 00:31:27 -04:00
  • 3382bd956b test(host_agent): stale-agent filter (pure function) bvandeusen 2026-04-15 00:30:42 -04:00
  • f7e21c0a21 feat(host_agent): register widgets and alert metric catalog entry bvandeusen 2026-04-14 22:31:31 -04:00
  • ded768c089 test(host_agent): install.sh template render + agent.py source parse bvandeusen 2026-04-14 22:29:15 -04:00
  • 5e0bfcc2b0 test(host_agent): pure-function tests for metric expansion bvandeusen 2026-04-14 22:27:08 -04:00
  • 673ba72510 test(host_agent): agent POST, backoff, and main loop bvandeusen 2026-04-14 22:22:45 -04:00
  • 8bed58073b test(host_agent): ring buffer and payload builder unit tests bvandeusen 2026-04-14 22:09:12 -04:00
  • b6b1c8adca test(host_agent): agent resource collectors unit tests bvandeusen 2026-04-14 22:07:39 -04:00
  • 6056bad01e test(host_agent): agent config parser unit tests bvandeusen 2026-04-14 21:44:46 -04:00
  • b1cfc377da docs(plugins): host_agent plan — path 1 note (no DB tests) bvandeusen 2026-04-14 18:13:41 -04:00
  • 98003f3458 docs(plugins): host_agent implementation plan bvandeusen 2026-04-13 23:46:37 -04:00
  • e243e0e0e1 docs(plugins): host-agent plugin design spec bvandeusen 2026-04-13 23:35:12 -04:00
  • d6e094bbb5 refactor: remove broken NUT/UPS plugin and managed-NUT startup bvandeusen 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 bvandeusen 2026-04-13 17:27:00 -04:00
  • fad1c12eac feat: fabledscryer→roundtable import alias shim bvandeusen 2026-04-13 17:26:30 -04:00
  • 1ecc831673 build: point alembic at roundtable/migrations bvandeusen 2026-04-13 17:14:14 -04:00
  • 2df0d421c2 build: rename package to roundtable in pyproject bvandeusen 2026-04-13 17:14:07 -04:00
  • 94a35da86e refactor: update imports fabledscryer → roundtable bvandeusen 2026-04-13 17:13:55 -04:00
  • 8aad2ab43d refactor: rename package directory fabledscryer → roundtable bvandeusen 2026-04-13 17:10:31 -04:00
  • fd9c6d941d style(login): placeholder labels instead of field headers bvandeusen 2026-04-13 16:39:06 -04:00
  • ce43a3900b style(login): larger wordmark + tagline, drop Sign In heading bvandeusen 2026-04-13 16:37:35 -04:00
  • c6401d8416 feat(login): Roundtable wordmark above tagline bvandeusen 2026-04-13 16:13:36 -04:00
  • 6c883e4121 copy: relocate "Under Watch, Under Care" to login tagline bvandeusen 2026-04-13 15:45:05 -04:00
  • 4d154653ba copy: dashboard hero "Under Watch, Under Care" bvandeusen 2026-04-13 14:58:38 -04:00
  • b0d9e9b6ad feat: themed 404 and 500 pages bvandeusen 2026-04-13 14:57:45 -04:00
  • b6954bd9d2 copy: broader themed empty states + restore DNS CTA bvandeusen 2026-04-13 14:56:41 -04:00
  • 5a701e0558 copy: themed empty states + login tagline bvandeusen 2026-04-13 14:55:10 -04:00
  • ba2c698801 style: candlelit glow background replaces star field bvandeusen 2026-04-13 14:52:27 -04:00
  • e83c69c6c2 feat: heraldic seal logo (crown & ellipse table) bvandeusen 2026-04-13 14:51:47 -04:00
  • 33df0c2f9a style: swap Libertinus Serif → EB Garamond bvandeusen 2026-04-13 14:51:19 -04:00
  • e8691bc7e4 style: pewter & gold palette tokens bvandeusen 2026-04-13 14:51:12 -04:00
  • 1f6404f0fd docs: rebrand implementation plan bvandeusen 2026-04-13 14:40:26 -04:00
  • 39074252d1 docs: rebrand design spec (FabledScryer → Roundtable) bvandeusen 2026-04-13 14:30:40 -04:00
  • 00dc4cdc9c feat: per-plugin settings pages and multi-repo plugin catalog bvandeusen 2026-03-23 18:41:31 -04:00
  • 8558d15eeb feat: plugin fault isolation notices + NUT managed mode fixes bvandeusen 2026-03-23 18:04:53 -04:00
  • 56283df5a1 feat: Ansible source manager UI — replace raw JSON textarea bvandeusen 2026-03-23 17:24:35 -04:00
  • edc9b752d2 feat: drag-and-drop dashboard editing, alert dynamic fields bvandeusen 2026-03-23 08:16:04 -04:00
  • 93d5ed8fb0 feat: managed NUT setup, plugin config improvements, migration fix bvandeusen 2026-03-23 08:15:48 -04:00
  • ced1eebe1d feat: maintenance windows, reports, uptime widget, alert improvements bvandeusen 2026-03-23 08:15:30 -04:00
  • 3c70ac56b3 feat: OIDC/LDAP auth, audit log, maintenance windows, migrations bvandeusen 2026-03-23 08:15:15 -04:00
  • 484da1f263 feat: show update available when catalog version differs from installed bvandeusen 2026-03-22 18:42:50 -04:00
  • 3f437141fb chore: update plugin catalog URL to git.fabledsword.com bvandeusen 2026-03-22 18:36:09 -04:00
  • fa318073f1 chore: move plugins/ to separate repo, gitignore the directory bvandeusen 2026-03-22 18:33:22 -04:00
  • 230b542015 feat: rename to FabledScryer, multi-dashboard system, plugin management, branding bvandeusen 2026-03-22 18:27:56 -04:00
  • 165a202ba4 feat: UI redesign (CSS system, DNS widget, Traefik dashboard widget) bvandeusen 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 bvandeusen 2026-03-18 20:36:26 -04:00
  • dfb433e779 feat: settings UI (admin-only, live-updates app.config) bvandeusen 2026-03-18 20:35:39 -04:00
  • c5dff7ec8c feat: two-phase migrations, DB settings loading in create_app bvandeusen 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 bvandeusen 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