mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2025-12-15 00:35:47 -07:00
Reverted Design Changes
This commit is contained in:
58
Update.ps1
58
Update.ps1
@@ -1,13 +1,14 @@
|
|||||||
# Borealis - Automation Platform Updater Script
|
|
||||||
|
|
||||||
[CmdletBinding()]
|
[CmdletBinding()]
|
||||||
param()
|
param(
|
||||||
|
[switch]$Trace
|
||||||
|
)
|
||||||
|
|
||||||
$scriptDir = Split-Path $MyInvocation.MyCommand.Path -Parent
|
$scriptDir = Split-Path $MyInvocation.MyCommand.Path -Parent
|
||||||
$script:BorealisTlsInitialized = $false
|
$script:BorealisTlsInitialized = $false
|
||||||
$script:BorealisTrustedThumbprints = @()
|
$script:BorealisTrustedThumbprints = @()
|
||||||
$script:BorealisCallbackApplied = $false
|
$script:BorealisCallbackApplied = $false
|
||||||
$script:AgentPythonHttpHelper = ''
|
$script:AgentPythonHttpHelper = ''
|
||||||
|
$script:UpdateDebugEnabled = $Trace.IsPresent
|
||||||
$symbols = @{
|
$symbols = @{
|
||||||
Success = [char]0x2705
|
Success = [char]0x2705
|
||||||
Running = [char]0x23F3
|
Running = [char]0x23F3
|
||||||
@@ -24,9 +25,14 @@ function Write-UpdateLog {
|
|||||||
|
|
||||||
if (-not $Message) { return }
|
if (-not $Message) { return }
|
||||||
|
|
||||||
|
$timestamp = (Get-Date).ToString('yyyy-MM-dd HH:mm:ss')
|
||||||
$normalized = if ($Level) { $Level } else { 'INFO' }
|
$normalized = if ($Level) { $Level } else { 'INFO' }
|
||||||
$normalized = $normalized.ToUpperInvariant()
|
$normalized = $normalized.ToUpperInvariant()
|
||||||
|
|
||||||
|
if ($normalized -eq 'DEBUG' -and -not $script:UpdateDebugEnabled) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (-not $Color) {
|
if (-not $Color) {
|
||||||
switch ($normalized) {
|
switch ($normalized) {
|
||||||
'WARN' { $Color = 'Yellow' }
|
'WARN' { $Color = 'Yellow' }
|
||||||
@@ -37,7 +43,7 @@ function Write-UpdateLog {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$line = "[{0}] {1}" -f $normalized, $Message
|
$line = "[{0}] [{1}] {2}" -f $timestamp, $normalized, $Message
|
||||||
if ($Color) {
|
if ($Color) {
|
||||||
Write-Host $line -ForegroundColor $Color
|
Write-Host $line -ForegroundColor $Color
|
||||||
} else {
|
} else {
|
||||||
@@ -363,7 +369,7 @@ function Save-ServerCertificateCache {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
Set-Content -Path $targetPath -Value $CertificatePem -Encoding UTF8
|
Set-Content -Path $targetPath -Value $CertificatePem -Encoding UTF8
|
||||||
Write-UpdateLog ("Cached server certificate to {0}" -f $targetPath) 'INFO'
|
Write-UpdateLog ("Saved Borealis Engine certificate to {0}" -f $targetPath) 'INFO'
|
||||||
return $targetPath
|
return $targetPath
|
||||||
} catch {
|
} catch {
|
||||||
Write-UpdateLog ("Failed to cache server certificate: {0}" -f $_.Exception.Message) 'WARN'
|
Write-UpdateLog ("Failed to cache server certificate: {0}" -f $_.Exception.Message) 'WARN'
|
||||||
@@ -549,11 +555,11 @@ function Initialize-BorealisTlsContext {
|
|||||||
$trusted = @()
|
$trusted = @()
|
||||||
$cachedCertPath = Get-ExistingServerCertificatePath -AgentRoot $AgentRoot
|
$cachedCertPath = Get-ExistingServerCertificatePath -AgentRoot $AgentRoot
|
||||||
if ($cachedCertPath) {
|
if ($cachedCertPath) {
|
||||||
Write-UpdateLog ("Using cached TLS certificate: {0}" -f $cachedCertPath) 'INFO'
|
Write-UpdateLog ("Attempting Borealis Engine connection using cached certificate: {0}" -f $cachedCertPath) 'INFO'
|
||||||
try {
|
try {
|
||||||
$trusted += Get-CertificatesFromPem -Path $cachedCertPath
|
$trusted += Get-CertificatesFromPem -Path $cachedCertPath
|
||||||
} catch {
|
} catch {
|
||||||
Write-UpdateLog ("Failed to load cached TLS certificate: {0}" -f $_.Exception.Message) 'WARN'
|
Write-UpdateLog ("Unable to load cached certificate; continuing without it ({0})." -f $_.Exception.Message) 'WARN'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -564,7 +570,7 @@ function Initialize-BorealisTlsContext {
|
|||||||
} else {
|
} else {
|
||||||
$script:BorealisTrustedThumbprints = @()
|
$script:BorealisTrustedThumbprints = @()
|
||||||
Write-Verbose "No Borealis TLS certificates located; loopback hosts will be allowed without CA verification."
|
Write-Verbose "No Borealis TLS certificates located; loopback hosts will be allowed without CA verification."
|
||||||
Write-UpdateLog "No TLS certificates found; falling back to loopback-only allowance." 'WARN'
|
Write-UpdateLog "No cached Borealis Engine certificate available yet; limiting TLS checks to loopback hosts." 'WARN'
|
||||||
}
|
}
|
||||||
|
|
||||||
Ensure-BorealisCertificateValidator
|
Ensure-BorealisCertificateValidator
|
||||||
@@ -829,9 +835,9 @@ function Invoke-AgentHttpRequest {
|
|||||||
|
|
||||||
$cafile = Get-ExistingServerCertificatePath -AgentRoot $AgentRoot
|
$cafile = Get-ExistingServerCertificatePath -AgentRoot $AgentRoot
|
||||||
if ($cafile) {
|
if ($cafile) {
|
||||||
Write-UpdateLog ("Using cached TLS certificate for helper: {0}" -f $cafile) 'DEBUG'
|
Write-UpdateLog ("Attempting to contact Borealis Engine using cached certificate: {0}" -f $cafile) 'INFO'
|
||||||
} else {
|
} else {
|
||||||
Write-UpdateLog "No TLS bundle available; helper will skip certificate validation for this request." 'WARN'
|
Write-UpdateLog "No cached Borealis Engine certificate found; establishing connection without validation." 'WARN'
|
||||||
}
|
}
|
||||||
$payload = @{
|
$payload = @{
|
||||||
method = $Method
|
method = $Method
|
||||||
@@ -1472,23 +1478,6 @@ function Sync-AgentHashRecord {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function Invoke-AgentHashSyncStep {
|
|
||||||
param(
|
|
||||||
[string]$ProjectRoot,
|
|
||||||
[string]$AgentRoot,
|
|
||||||
[string]$AgentHash,
|
|
||||||
[string]$ServerBaseUrl,
|
|
||||||
[string]$AgentId,
|
|
||||||
[string]$AgentGuid,
|
|
||||||
[string]$AuthToken,
|
|
||||||
[string]$BranchName
|
|
||||||
)
|
|
||||||
|
|
||||||
Run-Step "Update Borealis Engine device record" {
|
|
||||||
Sync-AgentHashRecord -ProjectRoot $ProjectRoot -AgentRoot $AgentRoot -AgentHash $AgentHash -ServerBaseUrl $ServerBaseUrl -AgentId $AgentId -AgentGuid $AgentGuid -AuthToken $AuthToken -BranchName $BranchName
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function Invoke-BorealisUpdate {
|
function Invoke-BorealisUpdate {
|
||||||
param(
|
param(
|
||||||
[Parameter(Mandatory = $true)]
|
[Parameter(Mandatory = $true)]
|
||||||
@@ -1663,13 +1652,8 @@ function Invoke-BorealisAgentUpdate {
|
|||||||
}
|
}
|
||||||
$authToken = $authContext.AccessToken
|
$authToken = $authContext.AccessToken
|
||||||
|
|
||||||
$serverRepoInfo = $null
|
Write-UpdateLog "Querying Borealis server for current repository hash." 'STEP'
|
||||||
Run-Step "Fetch Borealis Engine repository hash" {
|
$serverRepoInfo = Get-ServerCurrentRepoHash -ServerBaseUrl $serverBaseUrl -AuthToken $authToken -AgentRoot $agentRoot
|
||||||
$serverRepoInfo = Get-ServerCurrentRepoHash -ServerBaseUrl $serverBaseUrl -AuthToken $authToken -AgentRoot $agentRoot
|
|
||||||
if (-not $serverRepoInfo) {
|
|
||||||
throw "Unable to retrieve repository hash from Borealis Engine."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$serverHash = ''
|
$serverHash = ''
|
||||||
$serverBranch = 'main'
|
$serverBranch = 'main'
|
||||||
if ($serverRepoInfo) {
|
if ($serverRepoInfo) {
|
||||||
@@ -1713,7 +1697,7 @@ function Invoke-BorealisAgentUpdate {
|
|||||||
} elseif (-not $needsUpdate) {
|
} elseif (-not $needsUpdate) {
|
||||||
Write-Host "Local agent files already match the server repository hash." -ForegroundColor Green
|
Write-Host "Local agent files already match the server repository hash." -ForegroundColor Green
|
||||||
Write-UpdateLog "Local agent hash matches remote; ensuring server record is updated." 'SUCCESS'
|
Write-UpdateLog "Local agent hash matches remote; ensuring server record is updated." 'SUCCESS'
|
||||||
Invoke-AgentHashSyncStep -ProjectRoot $scriptDir -AgentRoot $agentRoot -AgentHash $serverHash -ServerBaseUrl $serverBaseUrl -AgentId $agentId -AgentGuid $agentGuid -AuthToken $authToken -BranchName $serverBranch
|
Sync-AgentHashRecord -ProjectRoot $scriptDir -AgentRoot $agentRoot -AgentHash $serverHash -ServerBaseUrl $serverBaseUrl -AgentId $agentId -AgentGuid $agentGuid -AuthToken $authToken -BranchName $serverBranch
|
||||||
Write-Host "✅ Borealis - Automation Platform Already Up-to-Date"
|
Write-Host "✅ Borealis - Automation Platform Already Up-to-Date"
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
@@ -1798,7 +1782,7 @@ function Invoke-BorealisAgentUpdate {
|
|||||||
|
|
||||||
if ($newHash) {
|
if ($newHash) {
|
||||||
Write-UpdateLog ("Final agent hash determined: {0}" -f $newHash) 'INFO'
|
Write-UpdateLog ("Final agent hash determined: {0}" -f $newHash) 'INFO'
|
||||||
Invoke-AgentHashSyncStep -ProjectRoot $scriptDir -AgentRoot $agentRoot -AgentHash $newHash -ServerBaseUrl $serverBaseUrl -AgentId $agentId -AgentGuid $agentGuid -AuthToken $authToken -BranchName $serverBranch
|
Sync-AgentHashRecord -ProjectRoot $scriptDir -AgentRoot $agentRoot -AgentHash $newHash -ServerBaseUrl $serverBaseUrl -AgentId $agentId -AgentGuid $agentGuid -AuthToken $authToken -BranchName $serverBranch
|
||||||
} else {
|
} else {
|
||||||
Write-Host "Unable to determine repository hash for submission; server hash not updated." -ForegroundColor DarkYellow
|
Write-Host "Unable to determine repository hash for submission; server hash not updated." -ForegroundColor DarkYellow
|
||||||
Write-UpdateLog "Unable to determine final agent hash; skipping submission." 'WARN'
|
Write-UpdateLog "Unable to determine final agent hash; skipping submission." 'WARN'
|
||||||
@@ -1813,4 +1797,4 @@ function Invoke-BorealisAgentUpdate {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Invoke-BorealisAgentUpdate
|
Invoke-BorealisAgentUpdate
|
||||||
Reference in New Issue
Block a user