github.com/hernad/nomad@v1.6.112/e2e/terraform/packer/windows-2016-amd64/install-consul.ps1 (about)

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