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
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.
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'
}
]
}
}
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'],
...
}
- Installs a consul-replicate daemon
- Creates a user and group specific to the service (Default:
creplicate
) - Manages the service via upstart
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.
This module is tested on Ubuntu 14.04 x64.