56 lines
1.9 KiB
PowerShell
Executable file
56 lines
1.9 KiB
PowerShell
Executable file
param(
|
|
[string]$Cloud = "aws",
|
|
[string]$Index=0
|
|
)
|
|
|
|
# Force TLS1.2
|
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
|
|
|
# Consul
|
|
Copy-Item -Force `
|
|
-Path "C:\ops\shared\consul\base.json" `
|
|
-Destination "C:\opt\consul.d\base.json"
|
|
Copy-Item -Force `
|
|
-Path "C:\ops\shared\consul\retry_$Cloud.json" `
|
|
-Destination "C:\opt\consul.d\retry_$Cloud.json"
|
|
New-Service `
|
|
-Name "Consul" `
|
|
-BinaryPathName "C:\opt\consul.exe agent -config-dir C:\opt\consul.d -log-file C:\opt\consul\consul.log" `
|
|
-StartupType "Automatic" `
|
|
-ErrorAction Ignore
|
|
Start-Service "Consul"
|
|
|
|
# Vault
|
|
# TODO(tgross): we don't need Vault for clients
|
|
# cp "C:\ops\shared\vault\vault.hcl" C:\opt\vault.d\vault.hcl
|
|
# sc.exe create "Vault" binPath= "C:\opt\vault.exe" agent -config-dir "C:\opt\vault.d" start= auto
|
|
|
|
# install config file
|
|
New-Item -ItemType "directory" -Path "C:\opt\nomad" -Force
|
|
Copy-Item "C:\ops\shared\nomad\client-windows.hcl" `
|
|
-Destination "C:\opt\nomad.d\nomad.hcl" -Force
|
|
|
|
# Setup Host Volumes
|
|
New-Item -ItemType "directory" -Path "C:\tmp\data" -Force
|
|
|
|
# TODO(tgross): not sure we even support this for Windows?
|
|
# Write-Output "Install CNI"
|
|
# md C:\opt\cni\bin
|
|
# $cni_url = "https://github.com/containernetworking/plugins/releases/download/v0.8.6/cni-plugins-windows-amd64-v0.8.6.tgz"
|
|
# Invoke-WebRequest -Uri "$cni_url" -Outfile cni.tgz
|
|
# Expand-7Zip -ArchiveFileName .\cni.tgz -TargetPath C:\opt\cni\bin\ -Force
|
|
|
|
# needed for metrics scraping HTTP API calls to the client
|
|
New-NetFirewallRule -DisplayName 'Nomad HTTP Inbound' -Profile @('Public', 'Domain', 'Private') -Direction Inbound -Action Allow -Protocol TCP -LocalPort @('4646')
|
|
|
|
# idempotently enable as a service
|
|
New-Service `
|
|
-Name "Nomad" `
|
|
-BinaryPathName "C:\opt\nomad.exe agent -config C:\opt\nomad.d" `
|
|
-StartupType "Automatic" `
|
|
-ErrorAction Ignore
|
|
|
|
Start-Service "Nomad"
|
|
|
|
Write-Output "Nomad started!"
|