You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.2 KiB
31 lines
1.2 KiB
# Start WSL mysql/redis (no Docker). Run before worker:rpa if ports closed.
|
|
$ErrorActionPreference = "Stop"
|
|
. (Join-Path $PSScriptRoot "lib.ps1")
|
|
. (Join-Path $PSScriptRoot "ensure-infra.ps1")
|
|
|
|
$root = $script:DevConfig.ProjectRoot
|
|
$wslPath = Get-WslInfraScriptPath -Root $root
|
|
$distro = Ensure-DevWslDistro
|
|
|
|
Write-DevLog "starting wsl infra ($distro)..." "Info"
|
|
$code = Invoke-DevWsl -BashCommand "export MYSQL_HOST_PORT=3307 MYSQL_ROOT_PASSWORD=changeme; bash '$wslPath' start"
|
|
if ($code -ne 0) {
|
|
throw "wsl infra start failed"
|
|
}
|
|
|
|
$ep = Get-EnvDbEndpoints -Root $root
|
|
$infraHost = Resolve-InfraHost -Root $root -MysqlPort $ep.MysqlPort -RedisPort $ep.RedisPort
|
|
$redisUrl = "redis://${infraHost}:$($ep.RedisPort)"
|
|
if (-not (Wait-InfraReadyFromWindows -HostName $infraHost -MysqlPort $ep.MysqlPort -RedisPort $ep.RedisPort -RedisUrl $redisUrl)) {
|
|
throw "infra ports not ready from Windows (host=$infraHost)"
|
|
}
|
|
|
|
$ports = Test-NativeInfraPorts -Root $root
|
|
if (-not $ports.Ok) {
|
|
throw "ports not ready (host=$($ports.Host) mysql=$($ports.Mysql) redis=$($ports.Redis))"
|
|
}
|
|
|
|
Apply-DevInfraEnv -Root $root
|
|
Start-WslKeepAlive -Distro $distro
|
|
Write-DevLog "mysql:3307 + redis:6379 ready (host=$($ports.Host))" "Ok"
|