43 lines
1.7 KiB
PowerShell
43 lines
1.7 KiB
PowerShell
function Export-MinikubeDevDynamic {
|
|
<#
|
|
.SYNOPSIS
|
|
Exports the existing developer dynamic databases into their own container that is importable by someone else
|
|
|
|
.DESCRIPTION
|
|
Exports the existing developer dynamic databases into their own container that is importable by someone else
|
|
|
|
.EXAMPLE
|
|
Export-MinikubeDevDynamic
|
|
#>
|
|
[CmdletBinding()]
|
|
param()
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
$logLead = (Get-LogLeadName)
|
|
$resourcesPath = Join-Path $PSScriptRoot "Resources"
|
|
|
|
Write-Host "$logLead : Updating kubectl context to minikube"
|
|
minikube update-context
|
|
|
|
Write-Host "$logLead : Exporting database in minikube"
|
|
$minikubeJson = docker inspect minikube
|
|
$minikubeContainerId = (ConvertFrom-Json -InputObject "$minikubeJson").Id
|
|
Write-Host "$logLead : Minikube container id: $minikubeContainerId"
|
|
docker cp ${minikubeContainerId}:/mnt/data "$PSScriptRoot"
|
|
|
|
Write-Host "$logLead : Building docker image with exported DB"
|
|
$exportDockerFilePath = "$resourcesPath\DatabaseExportDockerfile"
|
|
$guid = [guid]::NewGuid().toString()
|
|
$tag = "export-$env:UserName-$guid"
|
|
$localDockerImageName = "alkami.db.developerdynamic.export:$tag"
|
|
docker build -t "$localDockerImageName" -f $exportDockerFilePath "$PSScriptRoot"
|
|
|
|
Remove-Item -Recurse -Force "$PSScriptRoot\data"
|
|
|
|
Write-Host "$logLead : Successfully built $localDockerImageName. Pushing to proget"
|
|
$progetImage = "packagerepo.orb.alkamitech.com/alkami/library/alkami.db.developerdynamic:$tag"
|
|
docker tag "alkami.db.developerdynamic.export:$tag" "$progetImage"
|
|
docker push "$progetImage"
|
|
|
|
Write-Host "$logLead : Exported minikube database to: $progetImage"
|
|
} |