Skip to content

Cimpress-MCP/puppet-consul_replicate

Repository files navigation

puppet-consul_replicate

Latest Version Build Status

This module installs consul replicate as a service.

The module has been updated to work with consul-replicate 0.2.0. For usage with consul-replicate 0.1.0, use the module tagged on the release page on GitHub

More information about usage of consul-replicate can be found here

Usage

At minimum, the src of the datacenter must be provided.

class { 'consul_replicate':
	config_hash => {
		consul => '127.0.0.1:8500',
		prefix => {
			source => 'global@dc1'
		}
	}
}

This module supports using hiera for populating config_hash. Additionally, there is support for populating the config_hash partially via hiera_config in class instantiation and via hiera on the same puppet run. However, in that case you would have to use hiera_config_hash in your hiera YAML file in order for both hashes to get merged.

Multi-prefix support

As of 0.2.0, multi-destination from the same source and multi-prefix is supported via an array of hashes.

class { 'consul_replicate':
	config_hash => {
		consul => '127.0.0.1:8500',
		prefix => [
			{
				source => 'global@dc1',
			},
			{
				source      => 'global@dc2',
				destination => 'default'
			},
			{
				source      => 'global@dc3',
				destination => 'foo'
			},
			{
				source      => 'global@dc3',
				destination => 'bar'
			}
		]
	}
}

Monitoring

This module includes basic sensu checks for monitoring. Monitoring can be enabled by setting the monitoring variable to true. Sensu subscriber tags can be optionally added.

class { 'consul_replicate':
	monitoring => true,
	sensu_subs => ['dev','test'],
	...
}

What this module affects

  • Installs a consul-replicate daemon
  • Creates a user and group specific to the service (Default: creplicate)
  • Manages the service via upstart

Dependencies

Since consul-replicate requires a consul agent to be running, the service that this module creates assumes that a consul agent is running on the machine.

The module also depends on a puppet-stdlib 0.4.x or above.

Compatibility

This module is tested on Ubuntu 14.04 x64.