feat: support windows containers in bootstrap script (#12662)

Fixes #7462.
This commit is contained in:
Kyle Carberry 2024-03-22 15:48:51 +01:00 committed by GitHub
parent 58cbd8335f
commit a6b8f381f0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 19 additions and 3 deletions

View File

@ -25,8 +25,24 @@ while ($true) {
}
}
# If the below fails, retrying probably will not help.
Set-MpPreference -DisableRealtimeMonitoring $true -ExclusionPath $env:TEMP\sshd.exe
# Check if running in a Windows container
if (-not (Get-Command 'Set-MpPreference' -ErrorAction SilentlyContinue)) {
Write-Output "Set-MpPreference not available, skipping..."
} else {
Set-MpPreference -DisableRealtimeMonitoring $true -ExclusionPath $env:TEMP\sshd.exe
}
$env:CODER_AGENT_AUTH = "${AUTH_TYPE}"
$env:CODER_AGENT_URL = "${ACCESS_URL}"
Start-Process -FilePath $env:TEMP\sshd.exe -ArgumentList "agent" -PassThru
# Check if we're running inside a Windows container!
$inContainer = $false
if ((Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control' -Name 'ContainerType' -ErrorAction SilentlyContinue) -ne $null) {
$inContainer = $true
}
if ($inContainer) {
# If we're in a container, run in a the foreground!
Start-Process -FilePath $env:TEMP\sshd.exe -ArgumentList "agent" -Wait -NoNewWindow
} else {
Start-Process -FilePath $env:TEMP\sshd.exe -ArgumentList "agent" -PassThru
}