chore: remove deprecated microservices, update solution and docker compose configurations
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Exports all required Finlytic Docker images to .tar archives and saves/transfers them directly to the network share.
|
||||
.DESCRIPTION
|
||||
Checks all 9 Finlytic microservice images, verifies network path availability,
|
||||
exports each image directly (or with copy) to \\SONA\appdata\finlytic\images,
|
||||
and displays progress and total transferred size.
|
||||
#>
|
||||
|
||||
param (
|
||||
[string]$DestinationPath = "\\SONA\appdata\finlytic\images",
|
||||
[switch]$BuildFirst = $false
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$images = @(
|
||||
"finlyticassets",
|
||||
"finlyticnews",
|
||||
"finlyticfundamentals",
|
||||
"finlyticsentiment",
|
||||
"finlytictechnicals",
|
||||
"finlyticengine",
|
||||
"finlyticsimulation",
|
||||
"finlyticbot",
|
||||
"finlyticbackend"
|
||||
)
|
||||
|
||||
Write-Host "============================================================" -ForegroundColor Cyan
|
||||
Write-Host " Finlytic Docker Images Export & Server Transfer" -ForegroundColor Cyan
|
||||
Write-Host "============================================================" -ForegroundColor Cyan
|
||||
Write-Host "Target Server Share : $DestinationPath" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
|
||||
# 1. Check destination share connectivity
|
||||
if (-not (Test-Path -Path $DestinationPath)) {
|
||||
Write-Host "[INFO] Target directory does not exist. Attempting to create it..." -ForegroundColor Gray
|
||||
try {
|
||||
New-Item -ItemType Directory -Path $DestinationPath -Force | Out-Null
|
||||
Write-Host "[OK] Destination folder successfully created." -ForegroundColor Green
|
||||
}
|
||||
catch {
|
||||
Write-Host "[ERROR] Could not access or create network share: $DestinationPath" -ForegroundColor Red
|
||||
Write-Host "Please make sure \\SONA is online and credentials/permissions are valid." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
} else {
|
||||
Write-Host "[OK] Target server share is accessible." -ForegroundColor Green
|
||||
}
|
||||
|
||||
# 2. Optional: Build images first
|
||||
if ($BuildFirst) {
|
||||
Write-Host ""
|
||||
Write-Host "[BUILD] Building all Docker images from compose.yaml..." -ForegroundColor Cyan
|
||||
docker compose -f (Join-Path $PSScriptRoot "..\compose.yaml") build
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "[ERROR] Docker build failed. Aborting export." -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "Starting export of $($images.Count) service images..." -ForegroundColor Cyan
|
||||
Write-Host "------------------------------------------------------------" -ForegroundColor Gray
|
||||
|
||||
$exported = 0
|
||||
$failed = @()
|
||||
$missing = @()
|
||||
$stopwatch = [System.Diagnostics.Stopwatch]::StartNew()
|
||||
|
||||
foreach ($img in $images) {
|
||||
$ref = "$img`:latest"
|
||||
$targetTar = Join-Path $DestinationPath "$img.tar"
|
||||
|
||||
# Verify if image exists locally in Docker
|
||||
docker image inspect $ref *> $null
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "[SKIP] Image '$ref' not found locally in Docker." -ForegroundColor Yellow
|
||||
$missing += $img
|
||||
continue
|
||||
}
|
||||
|
||||
$imgWatch = [System.Diagnostics.Stopwatch]::StartNew()
|
||||
Write-Host "[EXPORT] Saving $ref -> $targetTar ... " -NoNewline -ForegroundColor White
|
||||
|
||||
try {
|
||||
# Export directly to network share
|
||||
docker save -o $targetTar $ref
|
||||
$imgWatch.Stop()
|
||||
|
||||
if ($LASTEXITCODE -eq 0 -and (Test-Path $targetTar)) {
|
||||
$fileSizeMB = [math]::Round((Get-Item $targetTar).Length / 1MB, 2)
|
||||
Write-Host "DONE! ($fileSizeMB MB in $($imgWatch.Elapsed.ToString('mm\:ss')))" -ForegroundColor Green
|
||||
$exported++
|
||||
} else {
|
||||
Write-Host "FAILED!" -ForegroundColor Red
|
||||
$failed += $img
|
||||
}
|
||||
}
|
||||
catch {
|
||||
Write-Host "ERROR: $_" -ForegroundColor Red
|
||||
$failed += $img
|
||||
}
|
||||
}
|
||||
|
||||
$stopwatch.Stop()
|
||||
|
||||
Write-Host "------------------------------------------------------------" -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
Write-Host "======================= SUMMARY ============================" -ForegroundColor Cyan
|
||||
Write-Host "Successfully Exported : $exported / $($images.Count)" -ForegroundColor Green
|
||||
|
||||
if ($missing.Count -gt 0) {
|
||||
Write-Host "Missing locally : $($missing -join ', ')" -ForegroundColor Yellow
|
||||
Write-Host " -> Tip: Run 'docker compose build' to build all images." -ForegroundColor DarkGray
|
||||
}
|
||||
|
||||
if ($failed.Count -gt 0) {
|
||||
Write-Host "Failed to Export : $($failed -join ', ')" -ForegroundColor Red
|
||||
}
|
||||
|
||||
Write-Host "Total Duration : $($stopwatch.Elapsed.ToString('mm\:ss'))" -ForegroundColor Cyan
|
||||
Write-Host "============================================================" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "To load these images on your server, run on the server:" -ForegroundColor White
|
||||
Write-Host ' for f in /pfad/zu/appdata/finlytic/images/*.tar; do docker load -i "$f"; done' -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Reference in New Issue
Block a user