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

# 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"