Skip to content

0.9.0#191

Merged
Polliog merged 69 commits intomainfrom
develop
Apr 11, 2026
Merged

0.9.0#191
Polliog merged 69 commits intomainfrom
develop

Conversation

@Polliog
Copy link
Copy Markdown
Collaborator

@Polliog Polliog commented Apr 11, 2026

This pull request introduces several major new features and improvements, as well as numerous bug fixes and optimizations across the project. The most significant updates are the addition of service health monitoring and public status pages, a new log parsing and enrichment pipeline system, and highly configurable custom dashboards. The .dockerignore file has also been improved to better support multi-package repositories. Numerous smaller fixes and enhancements are included throughout the codebase and user interface.

Major Feature Additions:

  • Service Health Monitoring & Status Pages:
    • Adds proactive uptime monitoring with HTTP, TCP, and heartbeat checks; auto-generated public status pages; per-monitor severity; incident automation; TimescaleDB storage; and a configurable, access-controlled public status page inspired by Uptime Kuma. Includes scheduled maintenances and manual status incidents.
  • Log Parsing & Enrichment Pipelines:
    • Introduces multi-step log processing pipelines with built-in parsers (nginx, apache, syslog, logfmt, JSON), custom grok patterns, GeoIP enrichment, async BullMQ processing, org/project scoping, YAML import/export, and a full-featured UI for management and testing.
  • Custom Dashboards:
    • Users can now build dashboards with 9 panel types (time series, stats, log streams, alerts, metrics, traces, etc.), drag-and-drop reordering and resizing, YAML import/export, versioned JSON schema with migrations, and per-org/personal scopes. Includes UI for editing and a batch panel data endpoint.

Infrastructure & Developer Experience:

  • Improved .dockerignore for Monorepos:
    • Updates .dockerignore to explicitly exclude all nested node_modules, dist, build, and .svelte-kit directories, preventing Docker build issues in pnpm-style workspaces and multi-package repositories.

Bug Fixes & Optimizations:

  • Status Page & Monitor Fixes:
    • Fixes status page slug collision, transactional monitor creation, type safety in mapping, optimized org membership checks, redundant DB reads, stricter target validation, Svelte 5 reactivity and markup fixes, and consistent default values.
  • Performance & UI Improvements:
    • Optimizes log identifier and hostname queries, improves pagination and charting, cleans up TypeScript/Svelte warnings, and restructures navigation for better UX. [1] [2] [3]
  • Security & API Enhancements:
    • Adds write-only API keys, improves SMTP configuration, and enhances internal logging and storage abstraction. [1] [2] [3] [4]

These changes collectively deliver major new observability, reliability, and customization capabilities, while also addressing a wide range of bugs and developer workflow improvements.

Closes: #151, Closes: #152, Closes: #153

Polliog and others added 30 commits March 20, 2026 21:33
…ing-and-enrichment-pipelines

Add log pipelines feature with CRUD, API, and frontend support
- HTTP/TCP/heartbeat monitor types with configurable intervals
- BullMQ-free polling: setInterval(30s) in worker.ts
- TimescaleDB hypertable for monitor_results + continuous aggregate for uptime
- State machine: consecutive failure/success tracking, incident auto-open/resolve
- Atomic incident creation guard (WHERE incident_id IS NULL) to prevent duplicates
- Project slugs: auto-generated on creation, unique per org
- Public status page at /status/[projectSlug] (unauthenticated)
- Heartbeat endpoint with both API key and session auth
- Security: org membership check on heartbeat session path
- ReDoS mitigation: body/pattern length limits in regex assertion
- Monitor IDs omitted from public API to prevent UUID enumeration
- fix slug collision in public status page (filter by status_page_public)
- wrap createMonitor in transaction (monitor + status inserts)
- wire HttpConfig through DB/API/checker (was dead code)
- add per-monitor severity (was hardcoded to high)
- add status_page_public to projects with toggle endpoint
- fix $derived.by in detail page, add refresh + copy buttons
- fix default failureThreshold (3 -> 2), add client-side validation
- type mapMonitor properly, optimize org membership check
- eliminate redundant DB read in processCheckResult
- add monitoring table cleanup to test setup
- add target validation on monitor update
Polliog and others added 25 commits April 6, 2026 01:05
decouple monitoring from SIEM - monitors no longer create
security incidents. new 'monitoring' event type with its own
queue job, email template, webhook payload, and channel routes.
…ashboards-with-configurable-panels

Feature/151 feature custom dashboards with configurable panels
# Conflicts:
#	CHANGELOG.md
#	README.md
#	package.json
#	packages/backend/package.json
#	packages/backend/src/utils/internal-logger.ts
#	packages/frontend/package.json
#	packages/frontend/src/hooks.client.ts
#	packages/frontend/src/hooks.server.ts
#	packages/frontend/src/lib/components/Footer.svelte
#	packages/reservoir/package.json
#	packages/shared/package.json
- add status-incidents service and routes tests (38 tests)
- add geoip step unit tests (6 tests)
- extend monitoring service with down/recovery path tests
- extend monitoring routes with plastic badge and results limit tests
- extend maintenances routes with 403 access control tests
- extend custom-dashboards routes with panelIds filter and 400 tests
- extend log-pipeline routes with PUT validation test
- extend pipeline-executor with apache/syslog/logfmt/geoip tests
- fix incident-notification test: title and message were swapped
Implement log pipelines and service health monitoring features
…toring, log parsing pipelines, and custom dashboards
Comment thread packages/backend/src/modules/monitoring/routes.ts Dismissed
Comment thread packages/backend/src/tests/modules/custom-dashboards/service.test.ts Dismissed
Comment thread packages/backend/src/tests/modules/maintenances/service.test.ts Dismissed
Comment thread packages/backend/src/tests/queue/jobs/incident-notification.test.ts Dismissed
Comment thread packages/backend/src/tests/queue/jobs/incident-notification.test.ts Dismissed
Comment thread packages/frontend/src/lib/stores/monitoring.ts Dismissed
@Polliog Polliog merged commit 4586177 into main Apr 11, 2026
10 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants