multi instance redis
This module manages redis instances.
- manages redis package
- disables default redis service, on CentOS 7 also masks it
- creates as many services as redis instances
- This module requires pluginsync enabled.
- eyp/systemd is required, but it's only used on CentOS 7
- on RH based systems eyp-epel is required
class { 'redis': }
redis::instance { '6666':
}
class redis, by default, installs redis and disables the default redis service:
class { 'redis': }
using redis::instance you can create as many instances as needed on a sigle host:
redis::instance { '6666':
}
redis::instance { '6667':
}
also:
redis::instance { 'instance_A':
port => '6666',
}
redis::instance { 'instance_B':
port => '6667',
}
sentinel support:
class { 'redis': }
redis::instance { '1111':
sentinel => true,
}
redis::instance { '1112':
sentinel => true,
}
- manage_package: = true,
- package_ensure: = 'installed',
- manage_service: = true,
- manage_docker_service: = true,
- service_ensure: = 'stopped',
- service_enable: = false,
(...)
- redis related variables:
- port: port to listen to (default: resource's name)
- bind: bind address (default: 0.0.0.0)
- timeout: (default: 0)
- datadir: redis datadir (default: /var/lib/redis-${name})
- redis_user: redis username (default: redis)
- redis_group: redis group (default: redis)
- password: optional password for redis (default: undef)
- package and service related variables:
- ensure: = 'running',
- manage_service: = true,
- manage_docker_service: = true,
- enable: = true,
(...)
Tested on:
- CentOS 6
- CentOS 7
- Ubuntu 14.04
- Ubuntu 16.04
We are pushing to have acceptance testing in place, so any new feature should have some test to check both presence and absence of any feature
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request