Severity: warning · Fires after: 15m · Rule: central/prometheus/rules/crafter.yml
A CrafterCMS Deployer target has not reached INIT_COMPLETED for 15 minutes.
{{ $labels.tier }}/{{ $labels.site }}/{{ $labels.env }} identifies it.
A target that never initialises does not deploy content. Authoring will appear to publish successfully while delivery keeps serving stale content — no error surfaces to the author.
crafter_deployer_target_init_completed == 0
Sourced from both Deployers' target/get-all endpoint, polled by
crafter-exporter.
Targets legitimately take a while to initialise after a stack restart, especially on first run when they clone the site repository. Below 15 minutes this fires on every normal restart.
ssh jakefear@docker2 'docker ps --filter name=deployer'
ssh jakefear@docker2 'docker logs --tail 200 <deployer-container>'
ssh jakefear@docker2 'docker exec <deployer-container> curl -s localhost:9191/api/1/target/get-all | python3 -m json.tool'
Common causes: the site's git repository is unreachable or has bad credentials; the target's config YAML is malformed; or a previous run left a lock behind.
Fix the underlying cause and let the target initialise. If it is wedged, restart
the Deployer container. The alert clears once init_completed reads 1.
Content not reaching the live site is a delivery symptom but will not trigger IncidentCrafterVhostDown — the site keeps serving its old content perfectly well. This alert is the only automated signal that publishing has silently stopped working.