tenant-engine/docs/evidence/TEN-WP-0008-rollback-plan.json
tegwick 6644ad8402
All checks were successful
Build and Publish Container Image / build-and-push (push) Successful in 50s
Onboard tenant-engine to the staged-promotion contract
TEN-WP-0008. railiance/app.toml declares criticality=high, empty secrets,
isolated canary, and the live PostgreSQL digest as previous_stable.
Manifests render through kustomize (deploy/ and deploy/canary/). Stage 1
passed. Stage 2/3 Helm-only CLI gap requested as RAIL-BS-IN-0001 rather
than a dummy chart.

Assistant: grok
Assistant-Session: 01a04cea-e5e8-7081-a0fc-808ebbc35fa9
2026-08-29 14:51:27 +02:00

85 lines
2.5 KiB
JSON

{
"actions": [],
"app": {
"criticality": "high",
"id": "tenant-engine",
"name": "tenant-engine",
"owner": "infotech",
"repo": "tenant-engine"
},
"app_dir": "/home/worsch/tenant-engine",
"approval_id": null,
"chart": "/home/worsch/tenant-engine/charts/tenant-engine",
"checks_expected": [
"stage2-accepted",
"rollback-target",
"cluster-health",
"operator-approval"
],
"contract": "/home/worsch/tenant-engine/railiance/app.toml",
"evidence_expected": [
"promotion commit",
"new stable digest in previous_stable and deploy/base/tenant-engine.yaml",
"post-promotion make verify-pin"
],
"generated_at": "2026-08-29T12:49:54Z",
"mode": "plan",
"namespace": "tenant-engine",
"planned_actions": [
{
"action_ref": "stage3.helm-rollback",
"namespace": "tenant-engine",
"release": "tenant-engine",
"revision": null,
"tool": "helm"
}
],
"prechecks": [
{
"name": "app.toml",
"required": true,
"status": "passed"
},
{
"detail": "image-digest",
"name": "rollback-strategy",
"required": true,
"status": "passed"
},
{
"detail": "plan mode does not execute helm",
"name": "helm",
"required": false,
"status": "not_required"
},
{
"name": "approval-id",
"required": false,
"status": "required_before_apply"
}
],
"previous_stable": "tenant-engine@sha256:a8e8086ffc5b772c1391b166f5e1884b90f7d327b152c205eceae129df555c24",
"promotion_mode": "release-replace",
"release": "tenant-engine",
"requires_approval": true,
"revision": null,
"rollback": {
"command_ref": "rollback.command",
"strategy": "image-digest",
"verification": "make verify-pin agrees repo, spec, and running pod; GET /health returns\n200 with store_backend=postgresql; lifecycle routes still present.\nDo not roll back to sha256:7dc9d7bf1fcbb3f3ad7035366f4cd44038322995a126b4423142e446ca5c9cd5\n(SQLite/PVC) after any PostgreSQL write. The TEN-WP-0007 ladder still\nholds for older images: rolling past a pre-lifecycle digest removes\nGET/PATCH/retire/reactivate that user-engine depends on.\n"
},
"schema_version": "railiance.stage3-rollback-result.v1",
"source": {
"artifact": "image",
"digest_policy": "required",
"revision": "git:main"
},
"stage": "stage3",
"status": "planned",
"summary": {
"actions_failed": 0,
"actions_total": 0,
"required_prechecks_failed": 0
},
"values": "/home/worsch/tenant-engine/values/stage3-production.yaml"
}