Repository navigation
Explorer: pin the backend to the image prod runs - #137
Conversation
…pply its settings Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EE7sa3iZdin6ZqWSCBtMxb
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f6d5e7931e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| # on the host and no longer on ghcr.io, so the deploy could never recreate | ||
| # the container (scripts/deploy-prod.sh converges with --pull never). Going | ||
| # to 11.x runs database migrations: a separate job, after a backup. | ||
| image: ghcr.io/blockscout/blockscout:latest |
There was a problem hiding this comment.
Pin the running backend image by digest instead of latest
When an operator starts the explorer without the deploy script's --pull never override, the inherited pull_policy: always in services/backend.yml fetches whatever latest currently names (Docker documents this as “Compose always pulls the image from the registry”). That same service runs create_and_migrate() before starting, so a routine restart through Compose can introduce an unreviewed upgrade and database migrations rather than preserve the running v9.0.2 image. The override in scripts/deploy-prod.sh protects only that script's convergence step. Pin the verified running image's full digest to preserve the intended backup-before-upgrade boundary and the tagged-release requirement in AGENTS.md.
AGENTS.md reference: AGENTS.md:L398-L398
Useful? React with 👍 / 👎.
Requested by Лев · project thread
The compose file pinned
ghcr.io/blockscout/blockscout:11.0.0, but prod runs:latestas pulled on the host (v9.0.2,sha256:7659f168e4e2…), and 11.0.0 is neither on the host nor on ghcr.io. The deploy's convergence step (#134/#136,--pull never) therefore failed withNo such imageand #133 (internal-transactions fetcher off, the host's main load) never reached the container. The explorer itself stayed up.Pinning to the image already running makes the next deploy recreate
backendwith the new env and no migration. Upgrading to 11.x is a separate job after a DB backup.Generated by Claude Code