-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathwindowscsiproxyfunc.ps1
35 lines (30 loc) · 1.72 KB
/
windowscsiproxyfunc.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function New-CsiProxyService {
Param(
[Parameter(Mandatory = $true)][string]
$CsiProxyPackageUrl,
[Parameter(Mandatory = $true)][string]
$KubeDir
)
$tempdir = New-TemporaryDirectory
$binaryPackage = "$tempdir\csiproxy.tar"
DownloadFileOverHttp -Url $CsiProxyPackageUrl -DestinationPath $binaryPackage
tar -xzf $binaryPackage -C $tempdir
cp "$tempdir\bin\csi-proxy.exe" "$KubeDir\csi-proxy.exe"
del $tempdir -Recurse
& "$KubeDir\nssm.exe" install csi-proxy "$KubeDir\csi-proxy.exe" | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy AppDirectory "$KubeDir" | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy AppRestartDelay 5000 | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy Description csi-proxy | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy Start SERVICE_DEMAND_START | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy ObjectName LocalSystem | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy Type SERVICE_WIN32_OWN_PROCESS | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy AppThrottle 1500 | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy AppStdout "$KubeDir\csi-proxy.log" | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy AppStderr "$KubeDir\csi-proxy.err.log" | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy AppStdoutCreationDisposition 4 | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy AppStderrCreationDisposition 4 | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy AppRotateFiles 1 | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy AppRotateOnline 1 | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy AppRotateSeconds 86400 | RemoveNulls
& "$KubeDir\nssm.exe" set csi-proxy AppRotateBytes 10485760 | RemoveNulls
}