open-nomad/e2e/terraform/packer/windows-2016-amd64
Mahmood Ali 0853d48927
e2e: Spin clusters with custom url binaries (#10656)
Ease spinning up a cluster, where binaries are fetched from arbitrary
urls.  These could be CircleCI `build-binaries` job artifacts, or
presigned S3 urls.

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2021-05-25 13:47:39 -04:00
..
disable-windows-updates.ps1 e2e: use more specific names for OS/distros (#9204) 2020-10-28 12:58:00 -04:00
fix-tls.ps1 e2e: use more specific names for OS/distros (#9204) 2020-10-28 12:58:00 -04:00
install-consul.ps1 e2e: get consul ent in e2e packer builds 2021-04-14 12:05:55 -06:00
install-docker.ps1 e2e: Windows provisioning improvements (#9246) 2020-11-09 13:29:40 -05:00
install-nuget.ps1 e2e: Windows provisioning improvements (#9246) 2020-11-09 13:29:40 -05:00
provision.ps1 e2e: Spin clusters with custom url binaries (#10656) 2021-05-25 13:47:39 -04:00
README.md e2e: use more specific names for OS/distros (#9204) 2020-10-28 12:58:00 -04:00
userdata.ps1 e2e: Windows provisioning improvements (#9246) 2020-11-09 13:29:40 -05:00

Windows Packer Build

There are a few boilerplate items in the Powershell scripts, explained below.

The default TLS protocol in the version of .NET that our Powershell cmdlets are built in it 1.0, which means plenty of properly configured HTTP servers will reject requests. The boilerplate snippet below sets this for the current script:

# Force TLS1.2
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

We need to run some of the scripts as an administrator role. The following is a safety check that we're doing so:

$RunningAsAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")
if (!$RunningAsAdmin) {
  Write-Error "Must be executed in Administrator level shell."
  exit 1
}