Puppet Redis
Build status
Example usage
Standalone
include ::redis
Master node
class { '::redis':
bind => '10.0.1.1',
}
With authentication
class { '::redis':
bind => '10.0.1.1',
masterauth => 'secret',
}
Slave node
class { '::redis':
bind => '10.0.1.2',
slaveof => '10.0.1.1 6379',
}
With authentication
class { '::redis':
bind => '10.0.1.2',
slaveof => '10.0.1.1 6379',
masterauth => 'secret',
}
Redis 3.0 Clustering
class { '::redis':
bind => '10.0.1.2',
appendonly => true,
cluster_enabled => true,
cluster_config_file => 'nodes.conf',
cluster_node_timeout => 5000,
}
Manage repositories
Disabled by default but if you really want the module to manage the required repositories you can use this snippet:
class { '::redis':
manage_repo => true,
}
On Ubuntu, "chris-lea/redis-server" ppa repo will be added. You can change it by using ppa_repo parameter:
class { '::redis':
manage_repo => true,
ppa_repo => 'ppa:rwky/redis',
}
Redis Sentinel
Optionally install and configuration a redis-sentinel server.
With default settings:
include ::redis::sentinel
With adjustments:
class { '::redis::sentinel':
master_name => 'cow',
redis_host => '192.168.1.5',
failover_timeout => 30000,
}
redisget()
function
redisget()
takes two arguments that are strings. The first is the key
to be looked up and the second is the URL to the Redis service.
$version = redisget('version.myapp', 'redis://redis.example.com:6379')
You must have the 'redis' gem installed on your puppet master.
Unit testing
Plain RSpec:
$ rake spec
Using bundle:
$ bundle exec rake spec
Test against a specific Puppet or Facter version:
$ PUPPET_VERSION=3.2.1 bundle update && bundle exec rake spec
$ PUPPET_VERSION=4.10.0 bundle update && bundle exec rake spec
$ FACTER_VERSION=1.6.8 bundle update && bundle exec rake spec
Contributing
- Fork it
- Create a feature branch (
git checkout -b my-new-feature
) - Run rspec tests (
bundle exec rake spec
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request