Skip to content

feat(reports): point-in-time compliance reports with hashed evidence … - #197

Merged
eniac111 merged 2 commits into
masterfrom
feat/compliance-reports
Oct 28, 2026
Merged

eniac111 merged 2 commits into
masterfrom
feat/compliance-reports

Conversation

@eniac111

@eniac111 eniac111 commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

No description provided.

@eniac111
eniac111 force-pushed the feat/compliance-reports branch from 6e2568b to 4c7b44e Compare October 28, 2026 22:17
Add the web UI for compliance reports, a Bor Enterprise feature, and the
generic extension hooks an enterprise module needs to provide it. The
community server contains no report implementation; the pages are shown
only when the server advertises the reports edition feature, and a
notice explains the feature otherwise. The live Compliance page is
unchanged and stays in every edition.

Edition and extension API (pkg/edition, pkg/ext, internal/exthost):
- edition.ComplianceReports ("reports")
- HandleUser for routes that authorize per request, with Authorize and
  DenyOutOfScope returning the caller's node-group scope
- RegisterScopableResource; authz scopable resources are now registrable
- Agents().Resync to ask an agent for a fresh policy sync
- RegisterComplianceListener, fed by the compliance upsert, which now
  returns the previous status so listeners see changes only
- SIEM() to format and forward events through the configured syslog
  sinks (syslog ForwardRaw and Format)
- PKI() with pki.IssueDocumentSigningCert: certificates with the
  id-kp-documentSigning usage (RFC 9336) and no TLS usages
- RegisterMetrics to add Prometheus collectors to /metrics; a collector
  the registry rejects is logged and left out

Web UI: Fleet -> Reports with the report list, generate dialog, report
detail (summary, nodes, results, controls, compare, sign-off,
downloads), schedules and waivers tabs, scope fields, a compliance trend
chart and a dashboard trend card, and report actions on the Compliance
page. Extension settings panels tolerate tables without rows. The
bundled frontend is rebuilt.

Docs: reports user guide, server configuration, permissions, editions,
compliance, audit log and monitoring pages.
Open the compliance reports page with the Bor Enterprise notice, label
the navigation entry "(Enterprise)" and the audit log's compliance
reports row "(Bor Enterprise)", so readers see the edition before the
feature description.
@eniac111
eniac111 force-pushed the feat/compliance-reports branch from 4c7b44e to 3fb1bc9 Compare October 28, 2026 22:38
@eniac111
eniac111 merged commit 3dad144 into master Oct 28, 2026
33 checks passed
@eniac111
eniac111 deleted the feat/compliance-reports branch October 28, 2026 23:03
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 28, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant