Verify Production Delivery
Keep the lane-scoped OpenBao and production credentials in their secret manager. Do not print, commit, copy, or put a token on a command line. Never invent COOLIFY_SERVICE_UUID; ask the owning operator for the configured external identifier.
The root workflow and the pinned infrastructure guide conflict. The infrastructure guide describes CI-driven Coolify deployment and rollback. The current root reusable-promote.yml workflow says that CI cannot start, replace, or roll back production containers. It only waits for Watchtower and runs production smoke checks. This ownership conflict is under reconciliation. Follow the current root workflow for verification, and stop when a production container action is necessary.
A checksummed release manifest records image digests and source identity. The signing workflow signs the images separately. Do not call the manifest itself signed.
Prerequisites
Section titled “Prerequisites”Use a protected GitHub environment for production verification. Confirm that each credential is lane-scoped. Confirm that pull requests cannot read it.
Actions
Section titled “Actions”- From
beskid_infra, runjust seed-openbao-checkto verify required key names without printing their values. - Open the successful root
platform-delivery.ymlrun. - Record the workflow run URL.
- Open its
reusable-promote.ymlproduction verification job. - Confirm in the Verify release manifest step that the workflow performs manifest checksum validation.
- Record checksum evidence only when the workflow exposes it.
- Confirm that the Verify authoritative main source step succeeded.
- Confirm that the Wait for Watchtower and run production smoke step succeeded.
- Record the job status.
- Inspect the separate image-build records for signature evidence.
Expected result
Section titled “Expected result”The production job status shows that the workflow validated the checksummed release manifest and its source run. The same job reports successful smoke checks after its Watchtower wait window. Separate image-build records provide signature evidence.
Recovery
Section titled “Recovery”If manifest or smoke verification fails, stop the release workflow. Preserve the run URL, manifest checksum, deployment window, and failed endpoint status. Escalate container replacement or rollback to the production operator. CI has no authority to perform that recovery. After the operator restores the previously recorded production state, repeat the public smoke checks.