approval-engine/docs/evidence/2026-11-07-schema-v9-rollout.json
tegwick d39da805fe deploy: pin and record the schema v9 sole-pod rollout
The live StatefulSet now runs
sha256:268cccf332b3f9f6b28085f26c8649f45d2a3bfd5779b6d7ff6c5ca3edfed7a2.
A verified pre-v9 backup was migrated in isolation with unchanged counts
before the sole pod was replaced. Readiness, integrity and a single writer
were checked after the restart.

Assistant: grok
Assistant-Session: 01a1b5fd-0c33-7ba1-b383-53937d525595
2026-11-07 14:21:04 +01:00

78 lines
2.4 KiB
JSON

{
"status": "deployed",
"observed_at": "2026-11-07T13:17:00Z",
"source_commit": "2745cd7fdd3c6e17af38650c4a3eff1f1e003373",
"image": {
"repository": "forgejo.coulomb.social/coulomb/approval-engine",
"tag": "0.1.0",
"digest": "sha256:268cccf332b3f9f6b28085f26c8649f45d2a3bfd5779b6d7ff6c5ca3edfed7a2",
"linux_amd64_manifest": "sha256:0ff0974535848412cd649f578796ffec6fad2c0a3b2079b80cf4162ab2a55c23",
"schema_version": 9
},
"previous_image": {
"digest": "sha256:16e5d222d58e179f4836f649e8f8128321a8b644d29dc426b4d21a65ff97845d",
"schema_version": 6,
"source_commit": "a786b061da4d7730c0827cf4919ab9206aed6d3e"
},
"scan": {
"scanner_image": "aquasec/trivy:latest",
"gate": "CRITICAL,HIGH; exit-code 1",
"exit_code": 0,
"high": 0,
"critical": 0,
"os": "Alpine 3.24.1",
"package_floors": [
"libuuid>=2.42.3-r1",
"musl>=1.2.6-r3",
"musl-utils>=1.2.6-r3",
"zlib>=1.3.2-r1"
]
},
"container_verification": {
"status": "passed",
"schema_version": 9,
"checks": [
"registry digest present",
"previous digest still present",
"isolated v6 backup migrated to v9",
"live sole-pod replacement",
"readiness",
"integrity",
"restart persistence",
"zero pending outbox"
]
},
"backup": {
"live_schema_before": 6,
"persistent_path": "/data/pre-schema9-20261107.sqlite",
"local_copy": "/tmp/ae-pre-schema9-20261107/pre-schema9.sqlite",
"local_mode": "0600",
"sha256": "8501d223bd16032946e55b3b71b9a4b1155be31e4fdac07831222fd3f2bc3a3f",
"integrity": "ok",
"live_database_overwritten_by_backup": false
},
"isolated_restore": {
"pre_schema": 6,
"post_schema": 9,
"counts_unchanged": true,
"live_database_overwritten": false,
"nonroot_uid": 10001,
"counts": {"approvals": 59, "entries": 50, "outbox": 2279},
"pending_outbox": 0
},
"rollout": {
"namespace": "approval-engine",
"pod": "approval-engine-0",
"pod_uid": "fd89dab8-b587-4443-8200-288d94272145",
"replicas": 1,
"readiness": 200,
"schema_version": 9,
"integrity": "ok",
"foreign_key_violations": 0,
"counts": {"approvals": 59, "entries": 50, "outbox": 2279},
"pending_outbox": 0,
"latest_heartbeat_created_at": "2026-11-07T13:07:32+00:00",
"latest_heartbeat_drained_at": "2026-11-07T13:07:32+00:00",
"heartbeat_interval_seconds": 3600
}
}