41 lines
1.5 KiB
PowerShell
41 lines
1.5 KiB
PowerShell
$ErrorActionPreference = "Continue"
|
|
Write-Output "=== env resource lines (no secrets) ==="
|
|
$envFile = "E:\wwwroot\.env"
|
|
if (Test-Path $envFile) {
|
|
Select-String -Path $envFile -Pattern '^(MYSQL_HOST|MYSQL_PORT|MYSQL_DB|MYSQL_USER|PG_HOST|PG_PORT|PG_DATABASE|PG_USER|REDIS_URL|REDIS_KEY_PREFIX|YTD_REDIS_HOST|YTD_REDIS_PORT|OBJECT_STORAGE_)=' |
|
|
ForEach-Object {
|
|
$line = $_.Line
|
|
if ($line -match 'PASSWORD|SECRET|ACCESS_KEY|REDIS_URL=') {
|
|
if ($line -match '^REDIS_URL=') {
|
|
# mask password in redis url
|
|
$line -replace '://([^:]+):([^@]+)@', '://$1:***@'
|
|
} elseif ($line -match '=') {
|
|
($line -split '=',2)[0] + '=***'
|
|
} else { $line }
|
|
} else { $line }
|
|
}
|
|
} else { "missing .env" }
|
|
|
|
Write-Output "=== password filled? (bool only) ==="
|
|
function HasVal([string]$key) {
|
|
$m = Select-String -Path $envFile -Pattern ("^" + [regex]::Escape($key) + "=(.+)$") | Select-Object -First 1
|
|
if (-not $m) { return "$key=MISSING" }
|
|
$v = ($m.Line -split '=',2)[1]
|
|
if ([string]::IsNullOrWhiteSpace($v) -or $v -match '^<.*>$') { return "$key=EMPTY" }
|
|
return "$key=SET"
|
|
}
|
|
HasVal "MYSQL_PASSWORD"
|
|
HasVal "PG_PASSWORD"
|
|
HasVal "OBJECT_STORAGE_ACCESS_KEY"
|
|
HasVal "OBJECT_STORAGE_SECRET_KEY"
|
|
HasVal "REDIS_URL"
|
|
|
|
Write-Output "=== local tools that can probe ==="
|
|
@(
|
|
'C:\yutongda\tools\mysql-8.0.39-winx64\bin\mysql.exe',
|
|
'C:\yutongda\tools\pgsql\bin\psql.exe',
|
|
'C:\yutongda\tools\redis-5.0.14.1\redis-cli.exe'
|
|
) | ForEach-Object { "$_ exists=$(Test-Path $_)" }
|
|
|
|
Write-Output "DONE"
|