fix(2): discourse — revert non-working depends_on override (additive map-merge can't remove bad key); keep image warm-cache + 3600s timeout
The depends_on:[app] override in 04cc44c does NOT make compose valid: docker normalizes short-form
depends_on to a map and merges additively, so {discourse}+{app}={discourse,app} keeps the invalid
'discourse' key (config --images still rc=15). Reverted to keep the overlay minimal (re-pin + grace
only). Prepull-skip is harmless because bitnamilegacy/discourse:3.3.1 is warm in the node image cache
→ inline pull is a no-op. Timeout headroom (3600s) retained in recipe_meta.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -21,18 +21,13 @@ version: "3.8"
|
|||||||
# Both changes are namespace/grace-only: identical image content, a healthy check still marks healthy
|
# Both changes are namespace/grace-only: identical image content, a healthy check still marks healthy
|
||||||
# immediately → NO assertion is weakened and no defect is masked.
|
# immediately → NO assertion is weakened and no defect is masked.
|
||||||
#
|
#
|
||||||
# 3. PREPULL-ENABLE (compose-validity): the published recipe (BOTH 0.7.0 base AND the PR head) ships
|
# NOTE (prepull): the published recipe ships `sidekiq.depends_on: [discourse]` but the main service is
|
||||||
# `sidekiq.depends_on: [discourse]`, but the main service is named `app` — `discourse` is an
|
# named `app` (`discourse` is undefined), so `abra app config --images` returns invalid-compose (rc=15)
|
||||||
# UNDEFINED service, so `abra app config --images` (the harness prepull step) returns
|
# and the harness prepull is SKIPPED. This overlay does NOT try to override depends_on — compose
|
||||||
# `invalid compose project` (rc=15) and prepull is SKIPPED → the 2.4GB discourse image is pulled
|
# normalizes short-form depends_on to a map and map-merge is additive, so an override can't REMOVE the
|
||||||
# INLINE during `abra app deploy`, eating the convergence budget on the 7-GiB single node and
|
# bad `discourse` key. Instead the 2.4GB `bitnamilegacy/discourse:3.3.1` image is kept warm in the node
|
||||||
# pushing the slow Rails cold boot past the deploy timeout (full4 base-deploy timed out at 2400s).
|
# image cache, so the inline pull during deploy is a no-op and convergence isn't pull-bound. (swarm
|
||||||
# This overlay overrides sidekiq.depends_on to the real service `app` so the merged compose is
|
# ignores depends_on, so the dangling ref has zero runtime effect — a recipe lint nit, not a defect.)
|
||||||
# VALID → prepull resolves+pre-pulls the images before deploy → reliable convergence. This is a
|
|
||||||
# NO-OP at runtime: `docker stack deploy` (swarm) IGNORES depends_on entirely, so correcting a
|
|
||||||
# dangling lint-only reference to the real service changes NOTHING swarm does — it masks no defect
|
|
||||||
# and weakens no test; it only unblocks the image pre-pull. (The same dangling ref exists upstream;
|
|
||||||
# filed as a recipe nit, but the fix here is the immutable-published-base + harness-prepull path.)
|
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: bitnamilegacy/discourse:3.3.1
|
image: bitnamilegacy/discourse:3.3.1
|
||||||
@ -40,5 +35,3 @@ services:
|
|||||||
start_period: 20m
|
start_period: 20m
|
||||||
sidekiq:
|
sidekiq:
|
||||||
image: bitnamilegacy/discourse:3.3.1
|
image: bitnamilegacy/discourse:3.3.1
|
||||||
depends_on:
|
|
||||||
- app
|
|
||||||
|
|||||||
Reference in New Issue
Block a user