Commit Graph

  • f48fc750f2 feat(ui/alerts): ScopeStep (name, severity, env/app/route/agent selectors) hsiegeln 2026-04-20 13:58:21 +02:00
  • 334e815c25 feat(ui/alerts): rule editor wizard shell + form-state module hsiegeln 2026-04-20 13:57:30 +02:00
  • 7e91459cd6 feat(ui/alerts): RulesListPage with enable/disable, delete, env promotion hsiegeln 2026-04-20 13:52:14 +02:00
  • 269a63af1f feat(ui/alerts): AllAlertsPage + HistoryPage hsiegeln 2026-04-20 13:49:52 +02:00
  • 8d8bae4e18 feat(ui/alerts): InboxPage with ack + bulk-read actions hsiegeln 2026-04-20 13:49:23 +02:00
  • 891dcaef32 feat(ui/alerts): mount NotificationBell in TopBar hsiegeln 2026-04-20 13:47:16 +02:00
  • 54e4217e21 feat(ui/alerts): Alerts sidebar section with Inbox/All/Rules/Silences/History hsiegeln 2026-04-20 13:46:49 +02:00
  • 167d0ebd42 feat(ui/alerts): register /alerts/* routes with placeholder pages hsiegeln 2026-04-20 13:44:44 +02:00
  • 019e79a362 feat(ui/alerts): MustacheEditor component (CM6 shell with completion + linter) hsiegeln 2026-04-20 13:41:46 +02:00
  • ac2a943feb feat(ui/alerts): CM6 completion + linter for Mustache templates hsiegeln 2026-04-20 13:39:10 +02:00
  • 18e6dde67a fix(ui/alerts): align ALERT_VARIABLES registry with NotificationContextBuilder hsiegeln 2026-04-20 13:35:42 +02:00
  • 5ddd89f883 feat(ui/alerts): Mustache variable metadata registry for autocomplete hsiegeln 2026-04-20 13:31:55 +02:00
  • 38083d7c3f fix(ui/alerts): remove dead usePageVisible subscription; align alerts test mock with DTO hsiegeln 2026-04-20 13:30:07 +02:00
  • 197c60126c feat(ui/alerts): NotificationBell with Page Visibility poll pause hsiegeln 2026-04-20 13:26:58 +02:00
  • 31ee974830 feat(ui/alerts): AlertStateChip + SeverityBadge components hsiegeln 2026-04-20 13:21:37 +02:00
  • 51bc796bec feat(ui/alerts): silence + notification query hooks hsiegeln 2026-04-20 13:16:57 +02:00
  • c6c3dd9cfe feat(ui/alerts): alert rule query hooks (CRUD, enable/disable, preview, test-evaluate) hsiegeln 2026-04-20 13:13:07 +02:00
  • 82c29f46a5 fix(ui/alerts): bulk-read body uses instanceIds to match BulkReadRequest DTO hsiegeln 2026-04-20 13:08:22 +02:00
  • 83a8912da6 feat(ui/alerts): TanStack Query hooks for /alerts endpoints hsiegeln 2026-04-20 13:07:16 +02:00
  • 1a8b9eb41b feat(ui/alerts): shared env helper for alerting query hooks hsiegeln 2026-04-20 13:00:49 +02:00
  • b2066cdb68 chore(ui): regenerate openapi.json + schema.d.ts from deployed Plan 02 backend hsiegeln 2026-04-20 10:56:43 +02:00
  • 1260cbe674 chore(ui): add CodeMirror 6 + Playwright config hsiegeln 2026-04-20 12:55:57 +02:00
  • 0aa1776b57 chore(ui): add Vitest + Testing Library scaffolding hsiegeln 2026-04-20 12:16:22 +02:00
  • 2942025a54 docs(alerting): Plan 03 — UI + backfills implementation plan hsiegeln 2026-04-20 12:12:21 +02:00
  • 99c3cab84a Merge pull request 'chore(ui): regenerate openapi schema for Plan 02 alerting endpoints' (#143) from chore/openapi-regen-post-plan02 into main hsiegeln 2026-04-20 11:02:13 +02:00
  • c861482c9e Merge pull request 'test(alerting): decentralize @MockBean + add SpringContextSmokeIT (follow-up to #141)' (#142) from fix/alerting-test-hygiene into main hsiegeln 2026-04-20 10:57:57 +02:00
  • 39a134a0db chore(ui): regenerate openapi.json + schema.d.ts from deployed Plan 02 backend hsiegeln 2026-04-20 10:56:43 +02:00
  • 94e941b026 test(alerting): decentralize @MockBean from AbstractPostgresIT + add SpringContextSmokeIT hsiegeln 2026-04-20 10:51:46 +02:00
  • 5373ac6541 Merge pull request 'fix(alerting): ClickHouseSearchIndex bean registered as concrete type (hotfix: production crashloop)' (#141) from fix/alerting-searchindex-bean-type into main hsiegeln 2026-04-20 10:24:49 +02:00
  • c9c93ac565 fix(alerting): declare ClickHouseSearchIndex bean as concrete type hsiegeln 2026-04-20 09:11:47 +02:00
  • ca78aa3962 Merge pull request 'feat(alerting): Plan 02 — backend (domain, storage, evaluators, dispatch)' (#140) from feat/alerting-02-backend into main claude 2026-04-20 09:03:15 +02:00
  • b763155a60 Merge pull request 'feat(alerting): Plan 01 — outbound HTTP infra + admin-managed outbound connections' (#139) from feat/alerting-01-outbound-infra into main hsiegeln 2026-04-20 08:57:40 +02:00
  • aa9e93369f docs(alerting): add V11-V13 migration entries to CLAUDE.md hsiegeln 2026-04-20 08:27:39 +02:00
  • b0ba08e572 test(alerting): rewrite AlertingFullLifecycleIT — REST-driven rule creation, re-notify cadence hsiegeln 2026-04-20 08:26:38 +02:00
  • 2c82b50ea2 fix(alerting/B-1): AlertStateTransitions.newInstance() propagates rule targets to AlertInstance hsiegeln 2026-04-20 08:26:25 +02:00
  • 7e79ff4d98 fix(alerting/I-2): add unique partial index on alert_instances(rule_id) for open states hsiegeln 2026-04-20 08:26:07 +02:00
  • 424894a3e2 fix(alerting/I-1): retry endpoint resets attempts to 0 instead of incrementing hsiegeln 2026-04-20 08:25:59 +02:00
  • d74079da63 fix(alerting/B-2): implement re-notify cadence sweep and lastNotifiedAt tracking hsiegeln 2026-04-20 08:25:50 +02:00
  • 3f036da03d fix(alerting/B-1): PostgresAlertRuleRepository.save() now persists alert_rule_targets hsiegeln 2026-04-20 08:25:39 +02:00
  • 8bf45d5456 fix(alerting): use ALTER TABLE MODIFY SETTING to enable projections on executions ReplacingMergeTree hsiegeln 2026-04-20 07:36:55 +02:00
  • f1abca3a45 refactor(alerting): rename P95_LATENCY_MS → AVG_DURATION_MS to match what stats_1m_route exposes hsiegeln 2026-04-20 07:36:43 +02:00
  • 144915563c docs(alerting): whole-branch final review report hsiegeln 2026-04-20 07:25:33 +02:00
  • c79a6234af test(alerting): fix duplicate @MockBean after AbstractPostgresIT centralised mocks + Plan 02 verification report hsiegeln 2026-04-19 23:27:19 +02:00
  • 63669bd1d7 docs(alerting): default config + admin guide hsiegeln 2026-04-19 22:16:38 +02:00
  • 840a71df94 feat(alerting): observability metrics via micrometer hsiegeln 2026-04-19 22:16:30 +02:00
  • 1ab21bc019 feat(alerting): AlertingRetentionJob daily cleanup hsiegeln 2026-04-19 22:16:21 +02:00
  • 118ace7cc3 docs(alerting): update app-classes.md for Phase 9 REST controllers (Task 36) hsiegeln 2026-04-19 22:08:38 +02:00
  • e334dfacd3 feat(alerting): AlertNotificationController + SecurityConfig matchers + fix IT context (Task 35) hsiegeln 2026-04-19 21:29:17 +02:00
  • 77d1718451 feat(alerting): AlertSilenceController CRUD with time-range validation + audit (Task 34) hsiegeln 2026-04-19 21:29:03 +02:00
  • 841793d7b9 feat(alerting): AlertController in-app inbox with ack/read/bulk-read (Task 33) hsiegeln 2026-04-19 21:28:55 +02:00
  • c1b34f592b feat(alerting): AlertRuleController with attribute-key SQL injection validation (Task 32) hsiegeln 2026-04-19 21:28:46 +02:00
  • d3dd8882bd feat(alerting): InAppInboxQuery with 5s unread-count memoization hsiegeln 2026-04-19 20:25:00 +02:00
  • 6b48bc63bf feat(alerting): NotificationDispatchJob outbox loop with silence + retry hsiegeln 2026-04-19 20:24:54 +02:00
  • 466aceb920 feat(alerting): WebhookDispatcher with HMAC + TLS + retry classification hsiegeln 2026-04-19 20:24:47 +02:00
  • 6f1feaa4b0 feat(alerting): HmacSigner for webhook signature hsiegeln 2026-04-19 20:24:39 +02:00
  • bf178ba141 fix(alerting): populate AlertInstance.rule_snapshot so history survives rule delete hsiegeln 2026-04-19 20:09:28 +02:00
  • 15c0a8273c feat(alerting): AlertEvaluatorJob with claim-polling + circuit breaker hsiegeln 2026-04-19 19:58:27 +02:00
  • 657dc2d407 feat(alerting): AlertingProperties + AlertStateTransitions state machine hsiegeln 2026-04-19 19:58:12 +02:00
  • f8cd3f3ee4 feat(alerting): EXCHANGE_MATCH evaluator with per-exchange + count modes hsiegeln 2026-04-19 19:40:54 +02:00
  • 89db8bd1c5 feat(alerting): JVM_METRIC evaluator hsiegeln 2026-04-19 19:38:48 +02:00
  • 17d2be5638 feat(alerting): LOG_PATTERN evaluator hsiegeln 2026-04-19 19:37:33 +02:00
  • 07d0386bf2 feat(alerting): ROUTE_METRIC evaluator hsiegeln 2026-04-19 19:36:22 +02:00
  • 983b698266 feat(alerting): DEPLOYMENT_STATE evaluator hsiegeln 2026-04-19 19:34:47 +02:00
  • e84338fc9a feat(alerting): AGENT_STATE evaluator hsiegeln 2026-04-19 19:33:13 +02:00
  • 55f4cab948 feat(alerting): evaluator scaffolding (context, result, tick cache, circuit breaker) hsiegeln 2026-04-19 19:32:06 +02:00
  • 891c7f87e3 feat(alerting): silence matcher for notification-time dispatch hsiegeln 2026-04-19 19:27:18 +02:00
  • 1c74ab8541 feat(alerting): NotificationContextBuilder for template context maps hsiegeln 2026-04-19 19:27:12 +02:00
  • 92a74e7b8d feat(alerting): MustacheRenderer with literal fallback on missing vars hsiegeln 2026-04-19 19:27:05 +02:00
  • c53f642838 chore(alerting): add jmustache 1.16 hsiegeln 2026-04-19 19:26:57 +02:00
  • 7c0e94a425 feat(alerting): ClickHouse projections for alerting read paths hsiegeln 2026-04-19 19:18:58 +02:00
  • 7b79d3aa64 feat(alerting): countExecutionsForAlerting for exchange-match evaluator hsiegeln 2026-04-19 19:18:49 +02:00
  • 44e91ccdb5 feat(alerting): ClickHouseLogStore.countLogs for log-pattern evaluator hsiegeln 2026-04-19 19:18:41 +02:00
  • 59354fae18 feat(alerting): wire all alerting repository beans hsiegeln 2026-04-19 19:05:06 +02:00
  • f829929b07 feat(alerting): Postgres repositories for silences, notifications, reads hsiegeln 2026-04-19 19:05:01 +02:00
  • 45028de1db feat(alerting): Postgres repository for alert_instances with inbox queries hsiegeln 2026-04-19 19:04:51 +02:00
  • 930ac20d11 fix(outbound): wire rulesReferencing to AlertRuleRepository (Plan 01 gate) hsiegeln 2026-04-19 18:51:36 +02:00
  • f80bc006c1 feat(alerting): Postgres repository for alert_rules hsiegeln 2026-04-19 18:48:15 +02:00
  • 1ff256dce0 feat(alerting): core repository interfaces hsiegeln 2026-04-19 18:43:36 +02:00
  • e7a9042677 feat(alerting): core domain records (rule, instance, silence, notification) hsiegeln 2026-04-19 18:43:03 +02:00
  • 56a7b6de7d feat(alerting): sealed AlertCondition hierarchy with Jackson deduction hsiegeln 2026-04-19 18:42:04 +02:00
  • 530bc32040 feat(alerting): core enums + AlertScope hsiegeln 2026-04-19 18:36:29 +02:00
  • 5103dc91be feat(alerting): add ALERT_RULE_CHANGE + ALERT_SILENCE_CHANGE audit categories hsiegeln 2026-04-19 18:34:08 +02:00
  • a80c376950 fix(alerting): harden V12 migration IT against shared container state hsiegeln 2026-04-19 18:32:35 +02:00
  • 59e76bdfb6 feat(alerting): V12 flyway migration for alerting tables hsiegeln 2026-04-19 18:28:09 +02:00
  • 087dcee5df docs(alerting): Plan 02 — backend (domain, storage, evaluators, dispatch) hsiegeln 2026-04-19 18:24:16 +02:00
  • cacedd3f16 fix(outbound): null-guard TRUST_PATHS check; add RBAC test for probe endpoint hsiegeln 2026-04-19 17:19:37 +02:00
  • 7358555d56 test(outbound): add @AfterEach cleanup to avoid leaking user/connection rows hsiegeln 2026-04-19 17:10:25 +02:00
  • 609a86dd03 docs: admin guide for outbound connections hsiegeln 2026-04-19 17:03:18 +02:00
  • 1dd1f10c0e docs(rules): document http/ and outbound/ packages + admin controller hsiegeln 2026-04-19 17:02:09 +02:00
  • 0c5f1b5740 feat(ui): outbound connection editor — TLS config, test action, env restriction hsiegeln 2026-04-19 16:59:19 +02:00
  • e7fbf5a7b2 feat(ui): admin page for outbound connections list + navigation hsiegeln 2026-04-19 16:55:35 +02:00
  • 3c903fc8dc feat(ui): tanstack query hooks for outbound connections hsiegeln 2026-04-19 16:52:40 +02:00
  • 87b8a71205 feat(outbound): admin test action for reachability + TLS summary hsiegeln 2026-04-19 16:47:36 +02:00
  • ea4c56e7f6 feat(outbound): admin CRUD REST + RBAC + audit hsiegeln 2026-04-19 16:43:48 +02:00
  • a3c35c7df9 feat(outbound): request + response + test-result DTOs with Bean Validation hsiegeln 2026-04-19 16:37:00 +02:00
  • 94b5db0f5b feat(outbound): service with uniqueness + narrow-envs + delete-if-referenced guards hsiegeln 2026-04-19 16:34:09 +02:00
  • 642c040116 feat(outbound): Postgres repository for outbound_connections hsiegeln 2026-04-19 16:23:51 +02:00
  • 380ccb102b fix(outbound): align user FK with users(user_id) TEXT schema hsiegeln 2026-04-19 16:18:12 +02:00
  • b8565af039 feat(outbound): SecretCipher - AES-GCM with JWT-derived key for at-rest secret encryption hsiegeln 2026-04-19 16:13:57 +02:00
  • 46b8f63fd1 feat(outbound): core domain records for outbound connections hsiegeln 2026-04-19 16:10:17 +02:00