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
78 lines
2.4 KiB
JSON
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
|
|
}
|
|
}
|