BOSH release for consul
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.final_builds release v24.0.0 Jan 5, 2018
ci
config
jobs Support configuring wan servers (#47) Oct 5, 2017
manifests
packages
releases/consul
src
.gitignore
ChangeLog.md Bumped to v12 Mar 1, 2015
Gemfile
Gemfile.lock consul v0.4.1 Jan 17, 2015
LICENSE Add Apache2 license [fixes #14] May 25, 2015
README.md
Rakefile

README.md

Deploy Consul to BOSH

Hashicorp Consul makes it simple for services to register themselves and to discover other services via a DNS or HTTP interface. It also offers flexible key/value storage.

One of the fastest ways to get consul running on any infrastructure is to deploy this BOSH release.

Usage

To use this bosh release, first upload it to your bosh:

export BOSH_ENVIRONMENT=<alias>
export BOSH_DEPLOYMENT=consul

git clone https://github.com/cloudfoundry-community/consul-boshrelease.git
cd consul-boshrelease
bosh deploy manifests/consul.yml -o manifests/operators/firsttime.yml

If your BOSH does not have Credhub/Config Server, then remember --vars-store to allow generation of certificates.

If your BOSH does not have Credhub/Config Server, then remember --vars-store to allow generation of certificates.

The consul.yml manifest is deliberately missing the required update: section of the manifest. This is to ensure that you - the operator - choose the correct update: section - either firsttime.yml for the first deployment (deploy all instances at the same time so they form a cluster) or existing.yml for all subsequent deployments (rolling updates).

If you get the following error then you have forgotten to provide either of these two operator files:

Task 1045 | 23:24:04 | Preparing deployment: Preparing deployment (00:00:00)
                     L Error: Required property 'update' was not specified in object ({"instance_groups"=>[{"azs"=>["z1", "z2", "z3"], "instances"=>3, "jobs"=>...

Subsequent deploys/upgrades

Replace manifests/operators/firsttime.yml above with manifests/operators/existing.yml so that each instance is updated one at a time:

bosh deploy manifests/consul.yml -o manifests/operators/existing.yml