github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/e2e/terraform/packer/windows-2016-amd64/install-consul.ps1 (about)

     1  Set-StrictMode -Version latest
     2  $ErrorActionPreference = "Stop"
     3  
     4  # Force TLS1.2
     5  [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
     6  
     7  Set-Location C:\opt
     8  
     9  Try {
    10      $releases = "https://releases.hashicorp.com"
    11      $version = "1.11.4+ent"
    12      $url = "${releases}/consul/${version}/consul_${version}_windows_amd64.zip"
    13  
    14      New-Item -ItemType Directory -Force -Path C:\opt\consul
    15      New-Item -ItemType Directory -Force -Path C:\etc\consul.d
    16  
    17      # TODO: check sha!
    18      Write-Output "Downloading Consul from: $url"
    19      Invoke-WebRequest -Uri $url -Outfile consul.zip -ErrorAction Stop
    20      Expand-Archive .\consul.zip .\ -ErrorAction Stop
    21      Move-Item consul.exe C:\opt\consul.exe -Force -ErrorAction Stop
    22      C:\opt\consul.exe version
    23      rm consul.zip
    24  
    25      New-Service `
    26        -Name "Consul" `
    27        -BinaryPathName "C:\opt\consul.exe agent -config-dir C:\etc\consul.d" `
    28        -StartupType "Automatic" `
    29        -ErrorAction Ignore
    30  
    31  } Catch {
    32      Write-Output "Failed to install Consul."
    33      Write-Output $_
    34      $host.SetShouldExit(-1)
    35      throw
    36  }
    37  
    38  Write-Output "Installed Consul."