redis

approved
tasks
Redis module

999,630 downloads

5,024 latest version

5.0 quality score

Version information

  • 11.1.0 (latest)
  • 11.0.0
  • 10.0.0
  • 9.3.0
  • 9.2.0
  • 9.1.0
  • 9.0.0
  • 8.8.0
  • 8.7.0
  • 8.6.0
  • 8.5.0
  • 8.4.0
  • 8.3.0
  • 8.2.0
  • 8.1.1
  • 8.1.0
  • 8.0.0
  • 7.0.0
  • 6.1.0
  • 6.0.0
  • 5.0.0
  • 4.2.1
  • 4.2.0
  • 4.1.0
  • 4.0.0
released Jan 7th 2025
This version is compatible with:
  • Puppet Enterprise 2025.3.x, 2025.2.x, 2025.1.x, 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
  • Puppet >= 7.0.0 < 9.0.0
  • Debian
    ,
    Ubuntu
    ,
    RedHat
    ,
    CentOS
    ,
    AlmaLinux
    ,
    Rocky
Tasks:
  • redis_cli

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'puppet-redis', '11.1.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add puppet-redis
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install puppet-redis --version 11.1.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

puppet/redis — version 11.1.0 Jan 7th 2025

Puppet Redis

License CI Code Coverage Puppet Forge Puppet Forge - downloads Puppet Forge - endorsement Puppet Forge - scores

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,
}

Multiple instances

$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:

class { 'redis':
  manage_repo => true,
}

On Ubuntu, you can use a PPA by using the ppa_repo parameter:

class { 'redis':
  manage_repo => true,
  ppa_repo    => 'ppa:rwky/redis',
}

Warning note that PPA usage requires puppetlabs/apt on Ubuntu distros

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,
}

Soft dependency

When managing the repo, it needs puppetlabs/apt.

For administration of sysctl it depends on herculesteam/augeasproviders_sysctl.

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