Surface integrity and watchdog state in the read-only dashboard via a new /api/integrity endpoint and integrity_report(): watchdog/heartbeat verdict, FIM baseline and package-DB anchor freshness, pacman keyring and SigLevel posture, and Sentinel's own self-integrity footprint. The endpoint summarizes existing anchors and heartbeats only — it runs no live FIM or package verification from the request path, keeping the dashboard read-only. Add the enodia.integrity.v1 schema (schemas.py + docs/SCHEMAS.md) with a contract test, a new "Integrity" dashboard tab and summary metric, and web tests for the report shape, schema contract, endpoint, and console wiring. Docs updated; completes the v1.0 "dashboard to local console" roadmap item. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
17 lines
685 B
Python
17 lines
685 B
Python
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
"""Stable JSON schema identifiers for operator-facing contracts.
|
|
|
|
These are lightweight schema IDs, not a full JSON Schema implementation. Tests
|
|
pin the minimum v1 fields and types so downstream automation can rely on them
|
|
while newer releases remain free to add fields.
|
|
"""
|
|
|
|
ALERT_V1 = "enodia.alert.v1"
|
|
ALERT_SNAPSHOT_V1 = "enodia.alert.snapshot.v1"
|
|
INCIDENT_V1 = "enodia.incident.v1"
|
|
INCIDENT_VIEW_V1 = "enodia.incident.view.v1"
|
|
INCIDENT_BUNDLE_V1 = "enodia.incident.bundle.v1"
|
|
STATUS_V1 = "enodia.status.v1"
|
|
INTEGRITY_V1 = "enodia.integrity.v1"
|
|
RESPONSE_PLAN_V1 = "enodia.response.plan.v1"
|
|
RESPONSE_AUDIT_V1 = "enodia.response.audit.v1"
|