functions/Fileshare/MountFolderFromSecrets.ps1
<#
.SYNOPSIS MountFolderFromSecrets .DESCRIPTION MountFolderFromSecrets .INPUTS MountFolderFromSecrets - The name of MountFolderFromSecrets .OUTPUTS None .EXAMPLE MountFolderFromSecrets .EXAMPLE MountFolderFromSecrets #> function MountFolderFromSecrets() { [CmdletBinding()] param ( [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()] [string] $baseUrl ) Write-Verbose 'MountFolderFromSecrets: Starting' [hashtable]$Return = @{} WriteToConsole "waiting to let kubernetes come up" Do { Write-Host '.' -NoNewline; Start-Sleep -Seconds 5; } while (!(Test-Path -Path "/etc/kubernetes/kubelet.conf")) Start-Sleep -Seconds 10 WriteToConsole "copying kube config to ${HOME}/.kube/config" mkdir -p "${HOME}/.kube" sudo cp -f "/etc/kubernetes/kubelet.conf" "${HOME}/.kube/config" sudo chown "$(id -u):$(id -g)" "${HOME}/.kube/config" WriteToConsole "giving read access to current user to /var/lib/kubelet/pki/kubelet-client.key" $u = "$(whoami)" sudo setfacl -m u:${u}:r "/var/lib/kubelet/pki/kubelet-client.key" WriteToConsole "reading secret for folder to mount " $secretname = "mountsharedfolder" $namespace = "default" $pathToShare = $(ReadSecretData -secretname $secretname -valueName "path" -namespace $namespace) $username = $(ReadSecretData -secretname $secretname -valueName "username" -namespace $namespace) $domain = $(ReadSecretData -secretname $secretname -valueName "domain" -namespace $namespace) $password = $(ReadSecretData -secretname $secretname -valueName "password" -namespace $namespace) if ($username) { mountSMBWithParams -pathToShare $pathToShare -username $username -domain $domain -password $password -saveIntoSecret $False -isUNC $True } else { Write-Host "No username found in secrets" mountSMB -saveIntoSecret $False } Write-Verbose 'MountFolderFromSecrets: Done' return $Return } Export-ModuleMember -Function 'MountFolderFromSecrets' |