-
6e7156b42d
chore: remove redundant license classifier from pyproject.toml

Andreas WredeandClaude Sonnet 4.6
2026-05-13 06:42:19 -04:00
-
928035df50
fix: move dependencies back under [project] in pyproject.toml

Andreas WredeandClaude Sonnet 4.6
2026-05-13 06:37:14 -04:00
-
0f90be659e
fix: correct ZFS pool status threshold operator and add per-metric grace

Andreas WredeandClaude Sonnet 4.6
2026-05-13 06:33:06 -04:00
-
4160e34a96
chore: remove commented-out step from release workflow

Andreas WredeandClaude Sonnet 4.6
2026-05-13 00:02:24 -04:00
-
6430d2ddf3
chore: add classifiers and project URL to pyproject.toml

Andreas WredeandClaude Sonnet 4.6
2026-05-13 00:00:30 -04:00
-
4b87a90e76
chore: declare license-files in pyproject.toml

Andreas WredeandClaude Sonnet 4.6
2026-05-12 23:58:25 -04:00
-
450814daca
chore: remove docs/superpowers from repo

Andreas WredeandClaude Sonnet 4.6
2026-05-12 23:56:56 -04:00
-
e7786ac5da
chore: rename "CLAUDE. md" to CLAUDE.md

Andreas WredeandClaude Sonnet 4.6
2026-05-12 23:56:21 -04:00
-
fed71d97d6
chore: clean up dev scratch files from project root

Andreas WredeandClaude Sonnet 4.6
2026-05-12 23:54:27 -04:00
-
ba96da9622
refactor: move loose test files out of project root

Andreas WredeandClaude Sonnet 4.6
2026-05-12 23:52:34 -04:00
-
7f17ddc2ff
chore: fix tox.ini to install dev deps from pyproject.toml

Andreas WredeandClaude Sonnet 4.6
2026-05-12 23:50:47 -04:00
-
7750c5a303
chore: set author to Andreas Wrede in pyproject.toml

Andreas WredeandClaude Sonnet 4.6
2026-05-12 23:49:46 -04:00
-
e58530df7d
docs: add MIT license

Andreas WredeandClaude Sonnet 4.6
2026-05-12 23:45:55 -04:00
-
fe7143759c
docs: rewrite README from source code

Andreas WredeandClaude Sonnet 4.6
2026-05-12 23:42:24 -04:00
-
236b40cfe4
fix: email and domain normalize
Andreas Wrede
2026-05-12 17:02:02 -04:00
-
4e5bafd26c
version 5.3.4
v5.3.4
Andreas Wrede
2026-05-12 15:06:24 -04:00
-
817ae064af
fix: run full reload after HTTP config publish, not just config.reload()

Andreas WredeandClaude Sonnet 4.6
2026-05-12 15:05:52 -04:00
-
a00282913b
version 5.3.3
v5.3.3
Andreas Wrede
2026-05-12 14:34:58 -04:00
-
d699a29fa9
refactor: remove dyndnshosts/drophosts legacy config keys, fix DNS event logging

Andreas WredeandClaude Sonnet 4.6
2026-05-12 14:34:11 -04:00
-
4ce7eacfdd
fix: remove container max-width and stop stretching inputs on settings page

Andreas WredeandClaude Sonnet 4.6
2026-05-12 11:42:54 -04:00
-
1cefc2676e
feat: replace YAML editor with form UI for threshold configurations

Andreas WredeandClaude Sonnet 4.6
2026-05-12 10:57:03 -04:00
-
668a135e53
feat: replace multi-select fields with dual-panel picker on settings page

Andreas WredeandClaude Sonnet 4.6
2026-05-12 10:10:18 -04:00
-
59e256a042
feat: add nav bar button to publish pending config changes

Andreas WredeandClaude Sonnet 4.6
2026-05-12 09:32:32 -04:00
-
708508157f
feat: add host, level, and message filters to Log of Events

Andreas WredeandClaude Sonnet 4.6
2026-05-12 08:29:26 -04:00
-
f67fa9baff
version 5.3.2
v5.3.2
Andreas Wrede
2026-05-12 08:16:04 -04:00
-
588eb2a792
feat: retry DNS resolution indefinitely and add -4/-6 flags in hbc and hbc_mini.c

Andreas WredeandClaude Sonnet 4.6
2026-05-12 08:15:53 -04:00
-
b907343e36
feat: retry DNS resolution indefinitely and add -4/-6 flags in hbc_mini

Andreas WredeandClaude Sonnet 4.6
2026-05-12 08:07:54 -04:00
-
e50a3996ae
fix: support list-valued threshold_config in hosts table

Andreas WredeandClaude Sonnet 4.6
2026-05-11 08:22:07 -04:00
-
e1056a0365
fix: derive hosts threshold config list from config file keys

Andreas WredeandClaude Sonnet 4.6
2026-05-11 08:09:27 -04:00
-
1dbe0f8e64
feat: replace YAML hosts editor with form-based CRUD table

Andreas WredeandClaude Sonnet 4.6
2026-05-11 07:57:28 -04:00
-
12e8812070
docs: update notification channel and API docs for form-based management

Andreas WredeandClaude Sonnet 4.6
2026-05-11 07:45:30 -04:00
-
9b5d8ac9b1
fix: replace channel checkboxes in Users table with multi-select

Andreas WredeandClaude Sonnet 4.6
2026-05-11 07:38:56 -04:00
-
500d256d76
feat: replace YAML notification channel editor with form-based UI

Andreas WredeandClaude Sonnet 4.6
2026-05-11 07:34:26 -04:00
-
a7a45bf8c3
fix: support plugin-level enabled: false in threshold config

Andreas WredeandClaude Sonnet 4.6
2026-05-10 17:40:29 -04:00
-
3e9b052f71
fix: always populate glance-strip for all hosts on page load

Andreas WredeandClaude Sonnet 4.6
2026-05-10 14:13:10 -04:00
-
7444262985
fix: fetch host info on initial page load

Andreas WredeandClaude Sonnet 4.6
2026-05-10 14:08:37 -04:00
-
3401cc0dbb
version 5.3.1
v5.3.1
Andreas Wrede
2026-05-10 14:03:58 -04:00
-
ab0132a38d
fix: correct THRESHOLD_DEFAULTS metric keys and add missing defaults

Andreas WredeandClaude Sonnet 4.6
2026-05-10 14:03:44 -04:00
-
9e389736f8
feat: show suffix-matched metric coverage in host info threshold table

andreasandClaude Sonnet 4.6
2026-05-10 09:18:49 -04:00
-
b64a2a9313
feat: move hbc_version and hbc_type out of os_info into host info section
andreas
2026-05-10 08:33:28 -04:00
-
a52744a448
feat: fetch and render host info section on card expand
andreas
2026-05-10 08:31:32 -04:00
-
5e2b04b811
feat: add fetchHostInfo and renderInfoSection JS functions

andreasandClaude Sonnet 4.6
2026-05-10 08:26:54 -04:00
-
8e07b09d7e
feat: add host info section placeholder and CSS to plugins.html
andreas
2026-05-10 08:21:17 -04:00
-
653e018e4f
feat: add GET /api/0/hosts/{hostname}/info endpoint
andreas
2026-05-10 08:18:49 -04:00
-
c7326da7d9
feat: add _build_host_info helper for host info endpoint

andreasandClaude Sonnet 4.6
2026-05-10 08:12:09 -04:00
-
0426a75d8c
docs: add implementation plan for host overview info section

andreasandClaude Sonnet 4.6
2026-05-10 08:09:47 -04:00
-
539f25d877
docs: add design spec for host overview info section

andreasandClaude Sonnet 4.6
2026-05-10 08:04:38 -04:00
-
3e3099fc6d
version 5.3.0
v5.3.0
andreas
2026-05-09 12:16:09 -04:00
-
c9f15a3f1c
fix: correct grace comment in config defaults — additional wait time, not a multiplier
andreas
2026-05-09 12:14:47 -04:00
-
6e396ad760
fix: correct grace field label and description — it is additional wait time, not a multiplier
andreas
2026-05-09 12:13:11 -04:00
-
2800de0b4a
fix: preserve .hb.yaml file permissions on backup and atomic write
andreas
2026-05-09 12:04:46 -04:00
-
15f7e6a64d
feat: profile page self-service for identity, password, and notification channels

andreasandClaude Sonnet 4.6
2026-05-09 11:57:47 -04:00
-
9768d13b88
feat: settings page editor with form sections, YAML editors, stage/publish/rollback

andreasandClaude Sonnet 4.6
2026-05-09 11:55:10 -04:00
-
8640d731aa
feat: add section_mode, api_section, editable flags and oauth section to settings

andreasandClaude Sonnet 4.6
2026-05-09 11:49:41 -04:00
-
de81751e59
fix: validate password body type and coerce notification_channels to strings in PUT /api/0/users/me
andreas
2026-05-09 11:46:58 -04:00
-
60c692cefc
feat: add PUT /api/0/users/me for user self-service profile updates

andreasandClaude Sonnet 4.6
2026-05-09 11:45:09 -04:00
-
9a0baf3c78
fix: preserve oauth client_secret on roundtrip, harden rollback path validation, guard non-dict payload

andreasandClaude Sonnet 4.6
2026-05-09 11:43:14 -04:00
-
55bdb9593a
feat: add config write API (POST /api/0/config, POST /api/0/config/rollback)

andreasandClaude Sonnet 4.6
2026-05-09 11:35:45 -04:00
-
2009626fb4
fix: config read API error handling, consistent 403 messages, deduplicate key lists

andreasandClaude Sonnet 4.6
2026-05-09 11:33:18 -04:00
-
18769afd37
feat: add config read API (GET /api/0/config, /section/{name}, /backups)

andreasandClaude Sonnet 4.6
2026-05-09 11:25:06 -04:00
-
31db5cf35e
fix: configio thread safety, tmp cleanup, backup collision, dns empty handling

andreasandClaude Sonnet 4.6
2026-05-09 11:21:03 -04:00
-
326f53f23d
feat: add configio module for comment-preserving YAML round-trip writes

andreasandClaude Sonnet 4.6
2026-05-09 11:11:32 -04:00
-
4f9bc8c868
docs: add implementation plan for config editor feature

andreasandClaude Sonnet 4.6
2026-05-09 11:05:05 -04:00
-
259b4a3594
docs: design spec for config editor UI with per-user self-service
andreas
2026-05-09 10:42:42 -04:00
-
8646f68957
feat: log login/logout events to event log with auth source
andreas
2026-05-09 09:25:23 -04:00
-
a4a6c1e3d9
fix: extend fetch_user error guard; escape HTML in login page

andreasandClaude Sonnet 4.6
2026-05-09 08:57:25 -04:00
-
0e8250362e
feat: multi-provider OAuth2 login page and generic routes

andreasandClaude Sonnet 4.6
2026-05-09 08:48:23 -04:00
-
2f5da9fc5e
fix: coerce malformed profile JSON to OAuthError; add redirect_uri assertion

andreasandClaude Sonnet 4.6
2026-05-09 08:46:19 -04:00
-
87aeec5999
feat: generic build_auth_url/exchange_code/fetch_user for multi-provider OAuth2

andreasandClaude Sonnet 4.6
2026-05-09 08:38:11 -04:00
-
f24500a6b5
fix: copy field_map/profile_data_path in get_providers; improve caplog assertions
andreas
2026-05-09 08:34:48 -04:00
-
a7bb183222
test: assert warning logged when get_providers skips invalid entries
andreas
2026-05-09 08:31:09 -04:00
-
8207cd7b5f
feat: add PROVIDER_DEFS, ResolvedProvider, get_providers() to oauth.py

andreasandClaude Sonnet 4.6
2026-05-09 08:29:07 -04:00
-
11f1eefa8c
docs: implementation plan for multi-provider OAuth2
andreas
2026-05-09 08:25:52 -04:00
-
62f496e9f8
docs: spec for multi-provider OAuth2 support

andreasandClaude Sonnet 4.6
2026-05-09 08:19:52 -04:00
-
aef9e7769b
fix: zfs_monitor alerts dropped on restart with wildcard pool thresholds

andreasandClaude Sonnet 4.6
2026-05-09 07:42:09 -04:00
-
58c2b9d996
version 5.2.6
v5.2.6
andreas
2026-05-09 06:56:00 -04:00
-
2e8bcb630d
fix: show human-readable duration in re-notification messages

andreasandClaude Sonnet 4.6
2026-05-09 06:53:41 -04:00
-
338711181b
feat: alerts host-filter field with URL query param and notify URL

andreasandClaude Sonnet 4.6
2026-05-09 06:46:13 -04:00
-
43487f17e7
feat: optional logo on Gitea OAuth login button

andreasandClaude Sonnet 4.6
2026-05-09 06:24:27 -04:00
-
40205bf5c7
version 5.2.5
v5.2.5
andreas
2026-05-08 17:25:50 -04:00
-
b95f1a5bb7
fix: agree: zpool ONLINE=OK, DEGRADED=WARNING, all else is CRITICAL
andreas
2026-05-08 17:18:41 -04:00
-
12f7eb722b
fix: typo
andreas
2026-05-08 17:03:32 -04:00
-
217bba1b76
fix: change health_ok to status
andreas
2026-05-08 16:57:45 -04:00
-
967e05ed74
threshold: synthesize health_ok server-side for older ZFS clients

andreasandClaude Sonnet 4.6
2026-05-08 16:39:16 -04:00
-
c20245b0ab
docs: document ZFS pool health alerting; fix pushover sound+url_title
andreas
2026-05-08 16:25:55 -04:00
-
b9db0c552e
feat: alert CRITICAL on degraded or suspended ZFS pools
andreas
2026-05-08 16:23:49 -04:00
-
05045bafa2
fix: use base_url config for OAuth redirect URI to handle reverse proxy
andreas
2026-05-08 14:11:09 -04:00
-
39f1b5de30
docs: add Gitea OAuth2 implementation plan
andreas
2026-05-08 13:56:00 -04:00
-
b06de6fdd3
fix: remove dead helper, add state logging, add integration-style oauth tests

andreasandClaude Sonnet 4.6
2026-05-08 13:53:57 -04:00
-
940d0af35e
fix: use error variable in login page template instead of hardcoded string
andreas
2026-05-08 13:50:02 -04:00
-
d6d31aa2e3
feat: add Sign in with Gitea button to login page

andreasandClaude Sonnet 4.6
2026-05-08 13:48:28 -04:00
-
76edfe7577
feat: add Gitea OAuth2 redirect and callback routes
andreas
2026-05-08 13:44:12 -04:00
-
d190029728
fix: guard unconfigured oauth calls; add missing test coverage; clean imports

andreasandClaude Sonnet 4.6
2026-05-08 13:42:21 -04:00
-
b8307e7a9d
feat: add authorization_url, exchange_code, fetch_user to oauth module

andreasandClaude Sonnet 4.6
2026-05-08 13:37:21 -04:00
-
a2fdf091f5
fix: preserve OAuth users across config reload; fix test isolation

andreasandClaude Sonnet 4.6
2026-05-08 13:34:57 -04:00
-
1914e6f28e
feat: add provision_oauth_user() to users module

andreasandClaude Sonnet 4.6
2026-05-08 13:32:08 -04:00
-
82cbce9615
test: fix shared state leak and fragile expiry assertion in oauth tests
andreas
2026-05-08 13:30:16 -04:00
-
dbb779b013
feat: add OAuth2 CSRF state management

andreasandClaude Sonnet 4.6
2026-05-08 13:28:18 -04:00
-
ca908ee967
fix: remove unused imports from oauth module and tests
andreas
2026-05-08 13:26:51 -04:00
-
73c697b6c5
feat: add oauth module skeleton and is_enabled()

andreasandClaude Sonnet 4.6
2026-05-08 13:24:27 -04:00