diff --git a/README.md b/README.md index 77fecab..8762cda 100644 --- a/README.md +++ b/README.md @@ -1,143 +1,147 @@ # Puppet Redis [![License](https://img.shields.io/github/license/voxpupuli/puppet-redis.svg)](https://github.com/voxpupuli/puppet-redis/blob/master/LICENSE) [![Build Status](https://travis-ci.org/voxpupuli/puppet-redis.png?branch=master)](https://travis-ci.org/voxpupuli/puppet-redis) [![Code Coverage](https://coveralls.io/repos/github/voxpupuli/puppet-redis/badge.svg?branch=master)](https://coveralls.io/github/voxpupuli/puppet-redis) [![Puppet Forge](https://img.shields.io/puppetforge/v/puppet/redis.svg)](https://forge.puppetlabs.com/puppet/redis) [![Puppet Forge - downloads](https://img.shields.io/puppetforge/dt/puppet/redis.svg)](https://forge.puppetlabs.com/puppet/redis) [![Puppet Forge - endorsement](https://img.shields.io/puppetforge/e/puppet/redis.svg)](https://forge.puppetlabs.com/puppet/redis) [![Puppet Forge - scores](https://img.shields.io/puppetforge/f/puppet/redis.svg)](https://forge.puppetlabs.com/puppet/redis) ## Example usage ### Standalone ```puppet include ::redis ``` ### Master node ```puppet class { '::redis': bind => '10.0.1.1', } ``` With authentication ```puppet class { '::redis': bind => '10.0.1.1', masterauth => 'secret', } ``` ### Slave node ```puppet class { '::redis': bind => '10.0.1.2', slaveof => '10.0.1.1 6379', } ``` With authentication ```puppet class { '::redis': bind => '10.0.1.2', slaveof => '10.0.1.1 6379', masterauth => 'secret', } ``` ### Redis 3.0 Clustering ```puppet class { '::redis': bind => '10.0.1.2', appendonly => true, cluster_enabled => true, cluster_config_file => 'nodes.conf', cluster_node_timeout => 5000, } ``` ### Multiple instances ```puppet $listening_ports = [6379,6380,6381,6382] class { '::redis': default_install => false, service_enable => false, service_ensure => 'stopped', } $listening_ports.each |$port| { $port_string = sprintf('%d',$port) redis::instance { $port_string: service_enable => true, service_ensure => 'running', port => $port, bind => $facts['networking']['ip'], dbfilename => "${port}-dump.rdb", appendfilename => "${port}-appendonly.aof", appendfsync => 'always', require => Class['Redis'], } } ``` ### Manage repositories Disabled by default but if you really want the module to manage the required repositories you can use this snippet: ```puppet 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: ```puppet class { '::redis': manage_repo => true, ppa_repo => 'ppa:rwky/redis', } ``` +**Warning** note that it requires [puppetlabs/apt](https://forge.puppet.com/puppetlabs/apt) on Debian or Ubuntu distros. On Red Hat [puppet/epel](https://forge.puppet.com/puppet/epel) is needed unless the installation is using Software Collections. In that case will install `centos-release-scl-rh` from CentOS extras. For RHEL or other RHEL-derivatives this isn't managed. + ### Redis Sentinel Optionally install and configuration a redis-sentinel server. With default settings: ```puppet include ::redis::sentinel ``` With adjustments: ```puppet class { '::redis::sentinel': master_name => 'cow', redis_host => '192.168.1.5', failover_timeout => 30000, } ``` ### Soft dependency -This module requires `camptocamp/systemd` on Puppet versions older than 6.1.0. +This module requires [camptocamp/systemd](https://forge.puppet.com/camptocamp/systemd) on Puppet versions older than 6.1.0. + +When managing the repo, it either needs [puppetlabs/apt](https://forge.puppet.com/puppetlabs/apt) or [puppet/epel](https://forge.puppet.com/puppet/epel). ## `redis::get()` function This function is used to get data from redis. You must have the 'redis' gem installed on your puppet master. Functions are documented in [REFERENCE.md](REFERENCE.md) diff --git a/metadata.json b/metadata.json index 827949d..ebbe585 100644 --- a/metadata.json +++ b/metadata.json @@ -1,81 +1,73 @@ { "name": "puppet-redis", "version": "5.0.1-rc0", "author": "Vox Pupuli", "summary": "Redis module", "license": "Apache-2.0", "source": "https://github.com/voxpupuli/puppet-redis.git", "project_page": "http://github.com/voxpupuli/puppet-redis", "issues_url": "https://github.com/voxpupuli/puppet-redis/issues", "dependencies": [ - { - "name": "puppetlabs/apt", - "version_requirement": ">= 2.3.0 < 8.0.0" - }, { "name": "puppetlabs/stdlib", "version_requirement": ">= 4.25.0 < 7.0.0" }, - { - "name": "puppet/epel", - "version_requirement": ">= 3.0.0 < 4.0.0" - }, { "name": "herculesteam/augeasproviders_sysctl", "version_requirement": ">= 2.1.0 < 3.0.0" }, { "name": "herculesteam/augeasproviders_core", "version_requirement": ">= 2.1.0 < 3.0.0" } ], "description": "Redis module with cluster support", "tags": [ "cluster", "failover", "loadbalancing", "redis", "sentinel" ], "requirements": [ { "name": "puppet", "version_requirement": ">= 5.5.8 < 7.0.0" } ], "operatingsystem_support": [ { "operatingsystem": "Debian", "operatingsystemrelease": [ "9", "10" ] }, { "operatingsystem": "Ubuntu", "operatingsystemrelease": [ "16.04", "18.04" ] }, { "operatingsystem": "RedHat", "operatingsystemrelease": [ "6", "7", "8" ] }, { "operatingsystem": "CentOS", "operatingsystemrelease": [ "6", "7", "8" ] }, { "operatingsystem": "Archlinux" } ] }