Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

Downloads:

188,619

Downloads of v 0.7.5:

11,947

Last Update:

21 Feb 2017

Package Maintainer(s):

Software Author(s):

  • Mitchell Hashimoto
  • Armon Dadgar
  • HashiCorp

Tags:

Consul

This is not the latest version of Consul available.

  • 1
  • 2
  • 3

0.7.5 | Updated: 21 Feb 2017

Downloads:

188,619

Downloads of v 0.7.5:

11,947

Maintainer(s):

Software Author(s):

  • Mitchell Hashimoto
  • Armon Dadgar
  • HashiCorp

Consul 0.7.5

This is not the latest version of Consul available.

Legal Disclaimer: Neither this package nor Chocolatey Software, Inc. are affiliated with or endorsed by Mitchell Hashimoto, Armon Dadgar, HashiCorp. The inclusion of Mitchell Hashimoto, Armon Dadgar, HashiCorp trademark(s), if any, upon this webpage is solely to identify Mitchell Hashimoto, Armon Dadgar, HashiCorp goods or services and not for commercial purposes.

  • 1
  • 2
  • 3

Some Checks Have Failed or Are Not Yet Complete

Not All Tests Have Passed


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Resulted in Flagged:

This package was submitted (and approved) prior to automated virus scanning integration into the package moderation processs.

We recommend clicking the "Details" link to make your own decision on installing this package.

Details
Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install Consul, run the following command from the command line or from PowerShell:

>

To upgrade Consul, run the following command from the command line or from PowerShell:

>

To uninstall Consul, run the following command from the command line or from PowerShell:

>

Deployment Method:

NOTE

This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade consul -y --source="'INTERNAL REPO URL'" --version="'0.7.5'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade consul -y --source="'INTERNAL REPO URL'" --version="'0.7.5'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Install consul
  win_chocolatey:
    name: consul
    version: '0.7.5'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'consul' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '0.7.5'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller consul
{
    Name     = "consul"
    Version  = "0.7.5"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'consul':
  ensure   => '0.7.5',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

Package Approved

This package was approved as a trusted package on 03 Apr 2017.

Description

Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.
Uses NSSM as the service wrapper. More info at: https://nssm.cc/

Package Parameters

The package parameters can be set - https://www.consul.io/docs/agent/options.html
These parameters can be passed to the installer with the use of -params.
For example: -params '-config-file="%PROGRAMDATA%\consul\dsc-config\default.json"'.


binaries\0.7.5_SHA256SUMS
 
binaries\0.7.5_web_ui.zip
md5: 8F7D336B8D3C17679ECEC68E4C56C137 | sha1: BE2B4C1FC7E13F61F59DD47B5EBCA9AF10EBB5D4 | sha256: A7803E7BA2872035A7E1DB35C8A2186AD238BF0F90EB441EE4663A872B598AF4 | sha512: 373727F79B3BA15D125C8C97EF3C6DCFD8498AABEEA78CF312CEB1C1FFBF775EB63AAD1751FEDFDEADE3860F7F8C4551BFD6AF4291798A62E3CD8520158ECCE9
binaries\0.7.5_windows_386.zip
md5: 3F4B878E1B6586A187826268BC49425B | sha1: 0FBC1B18AFF35E7F3DA4AEAAAFC5685E75093149 | sha256: 7EA88AA53026CB14BAB6A68D5B64C43515EA39552594AE399978FC13BCD74707 | sha512: 632F094A433343856F0FB2E50FC4B1D530126F7193E55CA694DC11CAAEBE40B5FC7E0A72ECF19698DE8652484B147065E0BB4CE3F6C0055BCA127615B46B8B06
binaries\0.7.5_windows_amd64.zip
md5: 2F2AADBB903F97B293781B0F9C164861 | sha1: F630D1F85EC685AF35BC29DA286F900287339B8A | sha256: 6CC64B1BB949F926D403E0436D02BF740844CF268076CF6D3D345361C1AA5293 | sha512: 1F5DD6F59FA8B1AA7271D6F84A5D9AD20C5488F0CC032828D4CFE0DF7F78B04F8596AA994734DAB5D303518878731C1B6ED49A37256F0327B67E809DD942AFCB
tools\chocolateyInstall.ps1
# Defaults
$serviceName = "consul"
$binariesPath = $(Join-Path (Split-Path -parent $MyInvocation.MyCommand.Definition) "..\binaries\")
$toolsPath = (Split-Path -Parent $MyInvocation.MyCommand.Definition)
$wrapperExe = "$env:ChocolateyInstall\bin\nssm.exe"
$serviceInstallationDirectory = "$env:PROGRAMDATA\consul"
$serviceLogDirectory = "$serviceInstallationDirectory\logs"
$serviceConfigDirectory = "$serviceInstallationDirectory\config"
$serviceUiDirectory = "$serviceInstallationDirectory\ui"
$serviceDataDirectory = "$serviceInstallationDirectory\data"

$packageParameters = $env:chocolateyPackageParameters
if (-not ($packageParameters)) {
  $packageParameters = ""
  Write-Debug "No Package Parameters Passed in"
}

# Consul related variables
$consulVersion = '0.7.5'
$sourcePath = if (Get-ProcessorBits 32) {
  $(Join-Path $binariesPath "$($consulVersion)_windows_386.zip")
} else {
  $(Join-Path $binariesPath "$($consulVersion)_windows_amd64.zip")
}
$sourcePathUI = $(Join-Path $binariesPath "$($consulVersion)_web_ui.zip")

# Create Service Directories
Write-Host "Creating $serviceLogDirectory"
New-Item -ItemType directory -Path "$serviceLogDirectory" -ErrorAction SilentlyContinue | Out-Null
Write-Host "Creating $serviceConfigDirectory"
New-Item -ItemType directory -Path "$serviceConfigDirectory" -ErrorAction SilentlyContinue | Out-Null
Write-Host "Creating $serviceUiDirectory"
New-Item -ItemType directory -Path "$serviceUiDirectory" -ErrorAction SilentlyContinue | Out-Null

# Unzip and move Consul
Get-ChocolateyUnzip  $sourcePath "$toolsPath"
Get-ChocolateyUnzip  $sourcePathUI "$serviceUiDirectory"

# Create event log source
# User -Force to avoid "A key at this path already exists" exception. Overwrite not an issue since key is not further modified
$registryPath = 'HKLM:\SYSTEM\CurrentControlSet\services\eventlog\Application'
New-Item -Path $registryPath -Name consul -Force | Out-Null
# Set EventMessageFile value
Set-ItemProperty $registryPath\consul EventMessageFile "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\EventLogMessages.dll" | Out-Null

# Set up task scheduler for log rotation
$logrotate = ('%SYSTEMROOT%\System32\forfiles.exe /p \"{0}\" /s /m *.* /c \"cmd /c Del @path\" /d -7' -f "$serviceLogDirectory")
SchTasks.exe /Create /SC DAILY /TN ""ConsulLogrotate"" /TR ""$($logrotate)"" /ST 09:00 /F | Out-Null

# Set up task scheduler for log rotation. Only works for Powershell 4 or Server 2012R2 so this block can replace
# using SchTasks.exe for registering services once machines have retired the older version of PS or upgraded to 2012R2
#$command = ('$now = Get-Date; dir "{0}" | where {{$_.LastWriteTime -le $now.AddDays(-7)}} | del -whatif' -f $serviceLogDirectory)
#$action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument "-NoProfile -WindowStyle Hidden -command $($command)"
#$trigger = New-ScheduledTaskTrigger -Daily -At 9am
#Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "ConsulLogrotate" -Description "Log rotation for consul"

#Uninstall service if it already exists. Stops the service first if it's running
$service = Get-Service $serviceName -ErrorAction SilentlyContinue
if ($service) {
  Write-Host "Uninstalling existing service"
  if($service.Status -ne "Stopped" -and $service.Status -ne "Stopping") {
    Write-Host "Stopping consul process ..."
    $service.Stop();
  }

  $service.WaitForStatus("Stopped", (New-TimeSpan -Minutes 1));
  if($service.Status -ne "Stopped") {
    throw "$serviceName could not be stopped within the allotted timespan.  Stop the service and try again."
  }

  $service = Get-WmiObject -Class Win32_Service -Filter "Name='$serviceName'"
  $service.delete() | Out-Null
}

Write-Host "Installing service: $serviceName"
# Install the service
& $wrapperExe install $serviceName $(Join-Path $toolsPath "consul.exe") "agent -ui-dir=$serviceUiDirectory -config-dir=$serviceConfigDirectory -data-dir=$serviceDataDirectory $packageParameters" | Out-Null
& $wrapperExe set $serviceName AppEnvironmentExtra GOMAXPROCS=$env:NUMBER_OF_PROCESSORS | Out-Null
& $wrapperExe set $serviceName ObjectName NetworkService | Out-Null
& $wrapperExe set $serviceName AppStdout "$serviceLogDirectory\consul-output.log" | Out-Null
& $wrapperExe set $serviceName AppStderr "$serviceLogDirectory\consul-error.log" | Out-Null
& $wrapperExe set $serviceName AppRotateBytes 10485760 | Out-Null
& $wrapperExe set $serviceName AppRotateFiles 1 | Out-Null
& $wrapperExe set $serviceName AppRotateOnline 1 | Out-Null

# When nssm fully supports Rotate/Post Event hooks
# $command = ('$now = Get-Date; dir "{0}" | where {{$_.LastWriteTime -le $now.AddDays(-7)}} | del -whatif' -f $serviceLogDirectory)
# $action = ("Powershell.exe -NoProfile -WindowStyle Hidden -command '$({{0}})'" -f $command)
# & $wrapperExe set consul AppEvents "Rotate/Post" $action | Out-Null

# Restart service on failure natively via Windows sc. There is a memory leak if service restart is performed via NSSM
# The NSSM configuration will set the default behavior of NSSM to stop the service if
# consul fails (for example, unable to resolve cluster) and end the nssm.exe and consul.exe process.
# The sc configuration will set Recovery under the Consul service properties such that a new instance will be started on failure,
# spawning new nssm.exe and consul.exe processes. In short, nothing changed from a functionality perspective (the service will
# still attempt to restart on failure) but this method kills the nssm.exe process thus avoiding memory hog.
& $wrapperExe set $serviceName AppExit Default Exit | Out-Null
cmd.exe /c "sc failure $serviceName reset= 0 actions= restart/60000" | Out-Null

# Let this call to Get-Service throw if the service does not exist
$service = Get-Service $serviceName
if($service.Status -ne "Stopped" -and $service.Status -ne "Stopping") {
  $service.Stop()
}

$service.WaitForStatus("Stopped", (New-TimeSpan -Minutes 1));
& $wrapperExe start $serviceName | Out-Null

Write-Host "Installed service: $serviceName"
tools\chocolateyUninstall.ps1
$service = Get-Service "consul" -ErrorAction SilentlyContinue

if ($service) {
	if ($service.Status -eq "Running") {
		Write-Host "Stopping consul process ..."
		net stop consul | Out-Null
	}

	$service = Get-WmiObject -Class Win32_Service -Filter "Name='consul'"
	$service.delete() | Out-Null
}

SchTasks.exe /Delete /F /TN "ConsulLogrotate" 2>&1 | Out-Null

Write-Host "Removing C:\ProgramData\consul\ ..."
takeown /f "C:\ProgramData\consul\" /a /r /d Y | Out-Null
icacls "C:\ProgramData\consul" /grant administrators:F /t | Out-Null
Remove-Item -Path "C:\ProgramData\consul\" -Force -Recurse -ErrorAction SilentlyContinue | Out-Null

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status
Consul 1.20.0 261 Wednesday, October 16, 2024 Approved
Consul 1.19.2 631 Monday, September 2, 2024 Approved
Consul 1.19.1 833 Friday, July 12, 2024 Approved
Consul 1.19.0 506 Thursday, June 13, 2024 Approved
Consul 1.18.2 493 Saturday, May 18, 2024 Approved
Consul 1.18.1 709 Wednesday, March 27, 2024 Approved
Consul 1.18.0 411 Tuesday, February 27, 2024 Approved
Consul 1.17.3 254 Sunday, February 18, 2024 Approved
Consul 1.17.2 456 Wednesday, January 24, 2024 Approved
Consul 1.17.1 773 Saturday, December 16, 2023 Approved
Consul 1.17.0 723 Saturday, November 4, 2023 Approved
Consul 1.16.3 229 Wednesday, November 1, 2023 Approved
Consul 1.16.2 711 Wednesday, September 20, 2023 Approved
Consul 1.16.1 918 Wednesday, August 9, 2023 Approved
Consul 1.16.0 602 Tuesday, June 27, 2023 Approved
Consul 1.15.3 460 Friday, June 2, 2023 Approved
Consul 1.15.2 1079 Sunday, April 2, 2023 Approved
Consul 1.15.1 689 Wednesday, March 8, 2023 Approved
Consul 1.15.0 409 Saturday, February 25, 2023 Approved
Consul 1.14.4 4696 Thursday, February 23, 2023 Approved
Consul 1.9.0 17928 Tuesday, January 5, 2021 Approved
Consul 1.8.7 2319 Monday, December 28, 2020 Approved
Consul 1.8.6 221 Monday, December 28, 2020 Approved
Consul 1.8.5 1159 Thursday, November 5, 2020 Approved
Consul 1.8.4 796 Wednesday, November 4, 2020 Approved
Consul 1.8.3 249 Wednesday, November 4, 2020 Approved
Consul 1.8.2 251 Tuesday, November 3, 2020 Approved
Consul 1.8.1 283 Thursday, October 29, 2020 Approved
Consul 1.8.0 2595 Tuesday, August 11, 2020 Approved
Consul 1.7.5 286 Tuesday, August 11, 2020 Approved
Consul 1.7.4 400 Saturday, August 8, 2020 Approved
Consul 1.7.3 253 Saturday, August 8, 2020 Approved
Consul 1.7.2 3452 Wednesday, June 17, 2020 Approved
Consul 1.7.1 275 Wednesday, June 17, 2020 Approved
Consul 1.7.0 308 Tuesday, June 16, 2020 Approved
Consul 1.6.10 391 Sunday, December 27, 2020 Approved
Consul 1.6.9 237 Sunday, December 27, 2020 Approved
Consul 1.6.8 198 Sunday, December 27, 2020 Approved
Consul 1.6.7 184 Saturday, December 26, 2020 Approved
Consul 1.6.6 313 Tuesday, June 16, 2020 Approved
Consul 1.6.5 1915 Friday, April 17, 2020 Approved
Consul 1.6.4 554 Friday, April 17, 2020 Approved
Consul 1.6.3 343 Wednesday, April 15, 2020 Approved
Consul 1.6.2 416 Thursday, April 9, 2020 Approved
Consul 1.6.1 12924 Friday, October 4, 2019 Approved
Consul 1.6.0 470 Friday, October 4, 2019 Approved
Consul 1.5.3 361 Friday, October 4, 2019 Approved
Consul 1.5.2 3803 Monday, July 8, 2019 Approved
Consul 1.5.1 2070 Monday, June 24, 2019 Approved
Consul 1.5.0 427 Monday, June 24, 2019 Approved
Consul 1.4.5 459 Monday, June 24, 2019 Approved
Consul 1.4.4 433 Monday, June 24, 2019 Approved
Consul 1.4.3 2401 Wednesday, March 6, 2019 Approved
Consul 1.4.2 676 Wednesday, March 6, 2019 Approved
Consul 1.4.1 329 Tuesday, March 5, 2019 Approved
Consul 1.4.0 1868 Tuesday, December 11, 2018 Approved
Consul 1.3.1 526 Monday, December 10, 2018 Approved
Consul 1.3.0 922 Saturday, November 10, 2018 Approved
Consul 1.2.3 2886 Friday, October 12, 2018 Approved
Consul 1.2.2 4335 Thursday, August 2, 2018 Approved
Consul 1.2.1 837 Monday, July 16, 2018 Approved
Consul 1.2.0 760 Wednesday, June 27, 2018 Approved
Consul 1.1.0 1111 Monday, June 4, 2018 Approved
Consul 1.0.7 1519 Monday, April 23, 2018 Approved
Consul 1.0.6 499 Friday, April 20, 2018 Approved
Consul 1.0.5 367 Friday, April 20, 2018 Approved
Consul 1.0.3 6494 Friday, January 26, 2018 Approved
Consul 1.0.2 591 Wednesday, January 24, 2018 Approved
Consul 1.0.1 437 Wednesday, January 24, 2018 Approved
Consul 1.0.0 5470 Monday, October 23, 2017 Approved
Consul 0.9.3 10098 Saturday, September 16, 2017 Approved
Consul 0.9.2 515 Saturday, September 16, 2017 Approved
Consul 0.9.1 416 Saturday, September 16, 2017 Approved
Consul 0.9.0 1449 Wednesday, July 26, 2017 Approved
Consul 0.8.5 4040 Friday, June 30, 2017 Approved
Consul 0.8.4 563 Friday, June 30, 2017 Approved
Consul 0.8.3 544 Friday, June 30, 2017 Approved
Consul 0.8.2 489 Friday, June 30, 2017 Approved
Consul 0.8.1 562 Friday, June 30, 2017 Approved
Consul 0.8.0 4175 Monday, April 10, 2017 Approved
Consul 0.7.5 11947 Tuesday, February 21, 2017 Approved
Consul 0.7.4.1 502 Thursday, February 16, 2017 Approved
Consul 0.7.4 476 Wednesday, February 15, 2017 Approved
Consul 0.7.3 592 Wednesday, February 15, 2017 Approved
Consul 0.7.2 1522 Monday, January 2, 2017 Approved
Consul 0.7.1 589 Friday, December 30, 2016 Approved
Consul 0.7.0 3905 Monday, September 19, 2016 Approved
Consul 0.6.4 5342 Wednesday, April 20, 2016 Approved
Consul 0.6.3.2 692 Monday, March 7, 2016 Approved
Consul 0.6.3.1 549 Thursday, February 25, 2016 Approved
Consul 0.6.3 891 Friday, January 22, 2016 Approved
Consul 0.5.2 9251 Wednesday, October 14, 2015 Approved
Consul 0.5.0 21029 Monday, June 1, 2015 Approved
consul 0.4.1 721 Friday, October 31, 2014 Approved
consul 0.3.1 568 Wednesday, August 13, 2014 Approved

Version 0.7.5


Discussion for the Consul Package

Ground Rules:

  • This discussion is only about Consul and the Consul package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Consul, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus