Problem
The canonical wordpress.phpunit MySQL runtime fails with only Managed runtime service failed: wordpress-database and diagnostic: { code: 'provision-failed' } when the host has no docker executable.
Observed while running Homeboy's WordPress extension against a component declaring database_type=mysql:
RuntimeServiceProvisionError: Managed runtime service failed: wordpress-database
...
diagnostic: { code: 'provision-failed' }
The host-level cause was confirmed separately: docker: command not found.
Expected
The WP Codebox runtime-service owner should preserve a bounded actionable cause such as provider-unavailable / docker executable not found, including the missing provider command, rather than collapsing process-spawn failures into the generic provision failure.
Scope
- Keep MySQL fail-closed; do not substitute SQLite.
- Improve the structured diagnostic emitted by
provisionMysqlDockerService for an unavailable provider executable.
- Add coverage for process spawn
ENOENT.
This was discovered while addressing Extra-Chill/data-machine-events#546; DME will retain the canonical MySQL declaration and will not work around the missing provider.
Problem
The canonical
wordpress.phpunitMySQL runtime fails with onlyManaged runtime service failed: wordpress-databaseanddiagnostic: { code: 'provision-failed' }when the host has nodockerexecutable.Observed while running Homeboy's WordPress extension against a component declaring
database_type=mysql:The host-level cause was confirmed separately:
docker: command not found.Expected
The WP Codebox runtime-service owner should preserve a bounded actionable cause such as
provider-unavailable/docker executable not found, including the missing provider command, rather than collapsing process-spawn failures into the generic provision failure.Scope
provisionMysqlDockerServicefor an unavailable provider executable.ENOENT.This was discovered while addressing Extra-Chill/data-machine-events#546; DME will retain the canonical MySQL declaration and will not work around the missing provider.