Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -355,8 +355,10 @@ services:
healthcheck:
# Process-liveness (like the Tari node) rather than a gRPC probe: the wallet's own gRPC is a
# long stream, and a liveness ps is enough to catch a crashed daemon. '[m]' stops grep matching
# its own argv. The long start_period tolerates the first-run blockchain scan.
test: ["CMD-SHELL", "ps | grep '[m]inotari_console_wallet' || exit 1"]
# its own argv. The long start_period tolerates the first-run blockchain scan. The pattern is
# capped at 15 chars — procps' ps truncates the CMD column there, so the full binary name
# 'minotari_console_wallet' can never match (#777).
test: ["CMD-SHELL", "ps | grep '[m]inotari_consol' || exit 1"]
interval: 30s
timeout: 5s
retries: 3
Expand Down
5 changes: 5 additions & 0 deletions tests/stack/test_compose.sh
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,11 @@ jq_assert "exactly 4 service_healthy depends_on edges total (#565)" \
'[.services[] | (.depends_on // {}) | to_entries[] | select(.value.condition == "service_healthy")] | length == 4'
jq_assert "exactly 5 depends_on edges total (#565)" \
'[.services[] | (.depends_on // {}) | to_entries[]] | length == 5'
# The wallet probe must fit ps's 15-char CMD column — procps truncates CMD there, so the full
# binary name never matches and the container would report unhealthy forever while the wallet
# runs fine (#777). Asserted here because tari-wallet only renders under tari_payout_confirm.
jq_assert "tari-wallet healthcheck pattern survives ps CMD truncation (#777)" \
'(.services["tari-wallet"].healthcheck.test | tostring) | contains("[m]inotari_consol") and (contains("[m]inotari_console_wallet") | not)'
# Restore $JSON to the default-profile render for every check below this point.
JSON="$(docker compose --env-file "$ENV_FILE" -f "$ROOT/docker-compose.yml" config --format json 2>/dev/null)"

Expand Down