audit-core/WORK-RECORDS.md
tegwick 2f4e1adf66
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Add deployment manifests, custody-class guard and request counters
AUDIT-WP-0005-T03 (progress). Manifests validated --dry-run=server
--validate=strict against railiance01; not applied, since deployment is gated
on RAPP-POSTGRES-WP-0002 and T02 credentials. Nothing here mutates the cluster.

Conventions read off the deployed user-engine workload rather than invented:
digest-pinned image from forgejo.coulomb.social, runAsNonRoot with
RuntimeDefault seccomp, no privilege escalation, all capabilities dropped,
readOnlyRootFilesystem, probes on a named http port, same resource envelope.

The namespace carries railiance.io/postgres-client: platform-pg, which is what
platform-pg-consumer-ingress in rapp-postgres admits; without that label the
pod cannot reach the database at all.

NetworkPolicies default-deny both directions, then permit ingress from the
user-engine namespace only, a separately labelled operator read path, and
egress to PostgreSQL in databases plus DNS.

Three decisions worth naming. Liveness is /healthz while readiness is /readyz,
so a database outage drops the pod from the Service rather than restarting it
in a loop. readOnlyRootFilesystem enforces the empty-filesystem property rather
than trusting it, so the SQLite fallback physically cannot accumulate audit
records on ephemeral storage. AUDIT_CORE_REQUIRE_CUSTODY_CLASS=archive makes a
missing database URL a startup failure instead of a silent downgrade to the
development store.

Counters deferred from WP-0004-T06 are exposed as JSON at /v1/stats behind the
read privilege, not as Prometheus exposition format: the cluster runs no
Prometheus, no ServiceMonitor CRD and no other scrape target, so an exposition
endpoint would target a scrape path that does not exist. Usable with curl now
and a small step from /metrics later.

Tests 77 -> 80.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 17:42:43 +02:00

3.1 KiB

Work Records — audit-core

Generated by statehub fix-consistency (CUST-WP-0061-T04, work-record stage 3). Do not edit by hand — edit the source file/block listed for each record and re-run fix-consistency to refresh this index. Archived workplans are omitted; closed decisions/intakes/engagements stay listed so recently-resolved work is still visible. [auto]

Kind ID Status Lane Source
workplan AUDIT-WP-0001 finished workplans/AUDIT-WP-0001-statehub-bootstrap.md
workplan AUDIT-WP-0002 finished workplans/AUDIT-WP-0002-pluggable-audit-backend.md
workplan AUDIT-WP-0003 finished workplans/AUDIT-WP-0003-user-engine-event-ingestion-service.md
workplan AUDIT-WP-0004 finished workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md
workplan AUDIT-WP-0005 proposed workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md
task AUDIT-WP-0001-T01 done workplans/AUDIT-WP-0001-statehub-bootstrap.md
task AUDIT-WP-0001-T02 done workplans/AUDIT-WP-0001-statehub-bootstrap.md
task AUDIT-WP-0001-T03 done workplans/AUDIT-WP-0001-statehub-bootstrap.md
task AUDIT-WP-0002-T01 done workplans/AUDIT-WP-0002-pluggable-audit-backend.md
task AUDIT-WP-0003-T01 done workplans/AUDIT-WP-0003-user-engine-event-ingestion-service.md
task AUDIT-WP-0003-T02 done workplans/AUDIT-WP-0003-user-engine-event-ingestion-service.md
task AUDIT-WP-0003-T03 cancel workplans/AUDIT-WP-0003-user-engine-event-ingestion-service.md
task AUDIT-WP-0003-T04 cancel workplans/AUDIT-WP-0003-user-engine-event-ingestion-service.md
task AUDIT-WP-0004-T01 done workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md
task AUDIT-WP-0004-T02 done workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md
task AUDIT-WP-0004-T03 done workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md
task AUDIT-WP-0004-T04 done workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md
task AUDIT-WP-0004-T05 done workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md
task AUDIT-WP-0004-T06 done workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md
task AUDIT-WP-0004-T07 done workplans/AUDIT-WP-0004-receiver-correctness-and-hardening.md
task AUDIT-WP-0005-T01 done workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md
task AUDIT-WP-0005-T02 todo workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md
task AUDIT-WP-0005-T03 todo workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md
task AUDIT-WP-0005-T04 done workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md
task AUDIT-WP-0005-T05 todo workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md
task AUDIT-WP-0005-T06 todo workplans/AUDIT-WP-0005-postgres-store-and-production-deployment.md