Skip to content

feat: system backups and alerts pages#101

Draft
andre8244 wants to merge 14 commits into
mainfrom
alerts-and-backup-ui
Draft

feat: system backups and alerts pages#101
andre8244 wants to merge 14 commits into
mainfrom
alerts-and-backup-ui

Conversation

@andre8244
Copy link
Copy Markdown
Collaborator

@andre8244 andre8244 commented May 12, 2026

📋 Description

  • Refactor System backups page
  • Refactor Alerts page

Related Issue: #83

🚀 Testing Environment

To trigger a fresh deployment of all services in the PR preview environment, comment:

update deploy

Automatic PR environments:

✅ Merge Checklist

Code Quality:

  • Backend Tests
  • Collect Tests
  • Sync Tests
  • Frontend Tests

Builds:

  • Backend Build
  • Collect Build
  • Sync Build
  • Frontend Build

@edospadoni edospadoni deployed to alerts-and-backup-ui - my-backend-qa PR #101 May 12, 2026 15:42 — with Render Active
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-collect-qa PR #101 May 12, 2026 15:42 — with Render Active
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-frontend-qa PR #101 May 12, 2026 15:42 — with Render Active
@github-actions
Copy link
Copy Markdown
Contributor

🔗 Redirect URIs Added to Logto

The following redirect URIs have been automatically added to the Logto application configuration:

Redirect URIs:

  • https://my-proxy-qa-pr-101.onrender.com/login-redirect

Post-logout redirect URIs:

  • https://my-proxy-qa-pr-101.onrender.com/login

These will be automatically removed when the PR is closed or merged.

@andre8244 andre8244 changed the base branch from main to feat/alerts-config-refactor May 12, 2026 15:44
@andre8244 andre8244 force-pushed the alerts-and-backup-ui branch from 80211a6 to f7d17d2 Compare May 12, 2026 15:45
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-frontend-qa PR #101 May 12, 2026 15:45 — with Render Active
@andre8244 andre8244 force-pushed the alerts-and-backup-ui branch from f7d17d2 to a9c986f Compare May 13, 2026 11:52
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-frontend-qa PR #101 May 13, 2026 11:52 — with Render Active
@edospadoni edospadoni force-pushed the feat/alerts-config-refactor branch from 74168a3 to 08a07dd Compare May 13, 2026 13:42
@andre8244 andre8244 force-pushed the alerts-and-backup-ui branch from a9c986f to eff1f04 Compare May 15, 2026 16:03
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-frontend-qa PR #101 May 15, 2026 16:03 — with Render Active
@andre8244 andre8244 changed the title refactor: system backups page feat: system backups and alerts pages May 15, 2026
@andre8244 andre8244 self-assigned this May 15, 2026
@edospadoni edospadoni force-pushed the feat/alerts-config-refactor branch from feea17d to c4c7f2b Compare May 20, 2026 08:04
Base automatically changed from feat/alerts-config-refactor to main May 20, 2026 08:05
@edospadoni edospadoni force-pushed the alerts-and-backup-ui branch from eff1f04 to 9d111a7 Compare May 20, 2026 09:16
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-frontend-qa PR #101 May 20, 2026 09:16 — with Render Active
@edospadoni
Copy link
Copy Markdown
Member

update deploy

Auto-updated .render-build-trigger files to ensure all services
are deployed in PR preview environments.

🤖 Generated by GitHub Actions
@github-actions
Copy link
Copy Markdown
Contributor

🚀 Build triggers updated!

All .render-build-trigger files have been automatically updated to ensure fresh deployments of all services in the PR preview environment.

@edospadoni edospadoni deployed to alerts-and-backup-ui - my-frontend-qa PR #101 May 20, 2026 09:20 — with Render Active
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-backend-qa PR #101 May 20, 2026 09:20 — with Render Active
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-collect-qa PR #101 May 20, 2026 09:20 — with Render Active
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-mimir-qa PR #101 May 20, 2026 09:20 — with Render Active
Builds the operational alerts surface on top of Mimir Alertmanager: a
single paginated list endpoint plus per-system silence management,
resolved-alert history, and aggregations the UI uses to render the
overview page.

Endpoints:
  - GET /alerts (cross-hierarchy / single-tenant / sub-tree scoping,
    multi-value label filters, sorting on starts_at/severity/alertname,
    pagination with stable fingerprint tiebreaker)
  - GET /alerts/history (paginated alert_history rows with date range)
  - GET /alerts/totals / /trend / /stats (severity buckets, time-series
    deltas, top-N alertname/system_key, MTTR/MTBF)
  - GET /alerts/{fingerprint}/activity (silence/unsilence audit timeline,
    populated transparently by the silence endpoints)
  - GET /systems/{id}/alerts and friends scoped to a single system

Each alert in the list is enriched with a local-DB system object
(id/name/type) so the frontend doesn't need a per-row round-trip.
Per-tenant fan-out failures are surfaced as warnings rather than
failing the whole request.

Gated on the existing read:systems / manage:systems permissions:
read for the list endpoints, manage for silence create/update/delete.
…GET /alerts

Stamp system_type at ingest (collect) alongside the other system_* labels
and drop the per-request DB lookup that enriched each alert with a separate
system object. Saves a SELECT on every GET /alerts and removes a redundant
field the frontend never read.
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-backend-qa PR #101 May 20, 2026 10:14 — with Render Active
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-backend-qa PR #101 May 20, 2026 15:37 — with Render Active
POST /alerts/config used to 500 on invalid emails (slices lacked
binding `dive`). Now binding, semantic, and entity-layer failures all
go through response.ValidationFailed with JSON-path keys
(email_recipients.2.address) and stable codes. Same envelope on the
four silence endpoints. Fix reflect.Value.String() leaking
"<int Value>" in response.ParseValidationErrors.

OpenAPI: reusable SilenceValidationFailed response + inline examples.
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-backend-qa PR #101 May 21, 2026 12:31 — with Render Active
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 21, 2026

ℹ️ My API content change detected

Preview documentation

No structural change, nothing to display.

Powered by Bump.sh

@edospadoni edospadoni deployed to alerts-and-backup-ui - my-frontend-qa PR #101 May 21, 2026 15:19 — with Render Active
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-frontend-qa PR #101 May 21, 2026 16:13 — with Render Active
andre8244 and others added 2 commits May 21, 2026 18:14
The status-gated loop in db-migrate/db-migrate-qa called run_migration.sh
status, which only checks for a schema_migrations row and ignores the
recorded checksum. Drift on an already-applied migration was silently
skipped. Call apply directly so report_checksum_drift fires, and exit
the loop on the first non-zero status.
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-backend-qa PR #101 May 22, 2026 06:56 — with Render Active
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-frontend-qa PR #101 May 22, 2026 10:45 — with Render Active
@andre8244 andre8244 force-pushed the alerts-and-backup-ui branch from 728ac1e to b12bf76 Compare May 22, 2026 14:08
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-frontend-qa PR #101 May 22, 2026 14:08 — with Render Active
@edospadoni edospadoni deployed to alerts-and-backup-ui - my-frontend-qa PR #101 May 22, 2026 16:10 — with Render Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants