Install Redis Master
This modules install the redis package and configure it as a master.
module.exports = header: 'Redis Master Install', handler: (options) ->
Package
Install Redis from Epel Repositories
@call header: 'Packages', ->
@service
name: 'redis'
@call
if_os: name: ['redhat','centos'], version: '7'
, ->
@service.init
header: 'Systemd Script'
target: '/usr/lib/systemd/system/redis.service'
source: "#{__dirname}/../resources/redis-systemd.j2"
local: true
context:
config_file: "#{options.conf_dir}/redis.conf"
user: options.user.name
group: options.group.name
mode: 0o0644
backup: true
@system.tmpfs
header: 'Run dir'
mount: options.pid_dir
uid: options.user.name
gid: options.group.name
perm: '0750'
IPTables
Service | Port | Proto | Parameter |
---|---|---|---|
Redis Master | 6379 | tcp | port |
IPTables rules are only inserted if the parameter "iptables.action" is set to "start" (default value).
@tools.iptables
header: 'Iptables'
if: options.iptables
rules: [
{ chain: 'INPUT', jump: 'ACCEPT', dport: options.conf['port'], protocol: 'tcp', state: 'NEW', comment: "Redis Master" }
]
Layout
@system.mkdir
header: 'Snpashots dir'
target: options.conf['dir']
uid: options.user.name
gid: options.group.name
mode: 0o750
@system.mkdir
header: 'Log dir'
target: path.dirname options.conf['logfile']
uid: options.user.name
gid: options.group.name
mode: 0o750
Configuration
@file
header: 'Server properties'
target: "#{options.conf_dir}/redis.conf"
write: options.conf
backup: true
eof: true
mode: 0o0750
uid: options.user.name
gid: options.group.name
Dependencies
glob = require 'glob'
path = require 'path'
quote = require 'regexp-quote'