ux: improve service deployment error messages for Koyeb and Northflank (#1093)

Enhanced error messages when service deployment fails or times out on Koyeb
and Northflank providers to give users more actionable debugging information.

Changes:
- Koyeb: Added specific debugging steps including CLI command and region/instance type suggestions
- Koyeb: Clarified "status" in error message to show exact failure status
- Koyeb: Added "Application error in startup command" as a common cause
- Northflank: Added last known status to timeout error message
- Northflank: Restructured error to show "Possible causes" and "Debugging steps" sections
- Northflank: Clarified that service might still be starting to prevent premature retries

These improvements help users quickly identify and resolve deployment issues
without needing to escalate to support.

Agent: ux-engineer

Co-authored-by: Spawn Refactor Service <refactor@spawn.service>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
A 2026-02-14 02:10:07 -08:00 committed by GitHub
parent 9d14ef4a19
commit 4d67d08487
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 18 additions and 6 deletions

View file

@ -192,13 +192,18 @@ _koyeb_wait_for_service() {
fi
if [[ "$status" == "error" || "$status" == "failed" ]]; then
log_error "Service deployment failed (status: $status)"
log_error "Service deployment failed with status: $status"
log_error ""
log_error "Common causes:"
log_error " - Docker image pull failure"
log_error " - Docker image pull failure (check image name and registry access)"
log_error " - Insufficient resources for the selected instance type"
log_error " - Health check failure (service crashed on startup)"
log_error "View deployment logs: https://app.koyeb.com/"
log_error " - Application error in startup command"
log_error ""
log_error "Debugging steps:"
log_error " 1. View deployment logs at: https://app.koyeb.com/"
log_error " 2. Check service details: koyeb service get $service_id"
log_error " 3. Try a different region or instance type"
return 1
fi

View file

@ -91,12 +91,19 @@ _northflank_wait_for_service() {
attempt=$((attempt + 1))
done
log_error "Service did not start after ${max_attempts} attempts"
log_error "Service did not reach 'running' status after ${max_attempts} attempts"
log_error ""
log_error "The service may still be starting. You can:"
log_error "Last status: ${status:-unknown}"
log_error ""
log_error "Possible causes:"
log_error " - Container image pull is taking longer than expected"
log_error " - Application failing to start (check startup command)"
log_error " - Resource limits preventing container from starting"
log_error ""
log_error "Debugging steps:"
log_error " 1. Check service status: northflank get service --name ${name} --project ${project_name}"
log_error " 2. View logs in the dashboard: https://app.northflank.com/"
log_error " 3. Re-run the command to try again"
log_error " 3. Service may still be starting - check dashboard before retrying"
return 1
}