Showing with 100 additions and 18 deletions.
  1. +10 −0 .travis.yml
  2. +9 −1 README.md
  3. +1 −1 manifests/config.pp
  4. +12 −0 manifests/init.pp
  5. +5 −3 manifests/install.pp
  6. +38 −3 manifests/params.pp
  7. +5 −4 manifests/sentinel.pp
  8. +7 −5 manifests/service.pp
  9. +1 −1 metadata.json
  10. +12 −0 spec/classes/redis_spec.rb
10 changes: 10 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
language: ruby

cache: bundler

rvm:
- 1.8.7
- 1.9.3
Expand All @@ -10,6 +12,8 @@ matrix:
- rvm: 1.8.7
- rvm: 2.0.0
env: PUPPET_VERSION="2.7"
- env: PUPPET_VERSION="2.7"
- env: PUPPET_VERSION="4.0"

before_install:
- 'gem install bundler'
Expand All @@ -22,6 +26,12 @@ env:
- PUPPET_VERSION="3.0"
- PUPPET_VERSION="3.1"
- PUPPET_VERSION="3.2"
- PUPPET_VERSION="3.3"
- PUPPET_VERSION="3.4"
- PUPPET_VERSION="3.5"
- PUPPET_VERSION="3.6"
- PUPPET_VERSION="3.7"
- PUPPET_VERSION="4.0"

branches:
only:
Expand Down
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ repositories you can use this snippet:
manage_repo => true,
}

On Ubuntu, "chris-lea/redis-server" ppa repo will be added. You can change it by using ppa_repo parameter:
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,
Expand Down Expand Up @@ -73,3 +73,11 @@ Test against a specific Puppet or Facter version:
$ PUPPET_VERSION=2.7.19 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
2 changes: 1 addition & 1 deletion manifests/config.pp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
$::redis::log_dir:
ensure => directory,
group => $::redis::service_group,
mode => $::redis::config_dir_mode,
mode => $::redis::log_dir_mode,
owner => $::redis::service_user;
}

Expand Down
12 changes: 12 additions & 0 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,11 @@
#
# Default: /var/log/redis
#
# [*log_dir_mode*]
# Adjust mode for directory containing log files.
#
# Default: 0755
#
# [*log_file*]
# Specify file where to write log entries.
#
Expand Down Expand Up @@ -229,6 +234,11 @@
#
# Default: undef
#
# [*service_manage*]
# Specify if the service should be part of the catalog.
#
# Default: true
#
# [*service_enable*]
# Enable/disable daemon at boot.
#
Expand Down Expand Up @@ -377,6 +387,7 @@
$list_max_ziplist_entries = $::redis::params::list_max_ziplist_entries,
$list_max_ziplist_value = $::redis::params::list_max_ziplist_value,
$log_dir = $::redis::params::log_dir,
$log_dir_mode = $::redis::params::log_dir_mode,
$log_file = $::redis::params::log_file,
$log_level = $::redis::params::log_level,
$manage_repo = $::redis::params::manage_repo,
Expand All @@ -396,6 +407,7 @@
$repl_ping_slave_period = $::redis::params::repl_ping_slave_period,
$repl_timeout = $::redis::params::repl_timeout,
$requirepass = $::redis::params::requirepass,
$service_manage = $::redis::params::service_manage,
$service_enable = $::redis::params::service_enable,
$service_ensure = $::redis::params::service_ensure,
$service_group = $::redis::params::service_group,
Expand Down
8 changes: 5 additions & 3 deletions manifests/install.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
# This class installs the application.
#
class redis::install {
ensure_resource('package', $::redis::package_name, {
'ensure' => $::redis::package_ensure
})
unless defined(Package["$::redis::package_name"]) {
ensure_resource('package', $::redis::package_name, {
'ensure' => $::redis::package_ensure
})
}
}

41 changes: 38 additions & 3 deletions manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,17 @@
$config_file = '/etc/redis/redis.conf'
$config_file_mode = '0644'
$config_group = 'root'
$config_owner = 'root'
$config_owner = 'redis'
$daemonize = true
$log_dir_mode = '0755'
$package_ensure = 'present'
$package_name = 'redis-server'
$sentinel_config_file = '/etc/redis/redis-sentinel.conf'
$sentinel_config_file_orig = '/etc/redis/redis-sentinel.conf.puppet'
$sentinel_init_script = '/etc/init.d/redis-sentinel'
$sentinel_package_name = 'redis-server'
$sentinel_package_ensure = 'present'
$service_manage = true
$service_enable = true
$service_ensure = 'running'
$service_group = 'redis'
Expand All @@ -101,22 +103,25 @@
$config_file = '/etc/redis.conf'
$config_file_mode = '0644'
$config_group = 'root'
$config_owner = 'root'
$config_owner = 'redis'
$daemonize = false
$log_dir_mode = '0755'
$package_ensure = 'present'
$package_name = 'redis'
$sentinel_config_file = '/etc/redis-sentinel.conf'
$sentinel_config_file_orig = '/etc/redis-sentinel.conf.puppet'
$sentinel_init_script = undef
$sentinel_package_name = 'redis'
$sentinel_package_ensure = 'present'
$service_manage = true
$service_enable = true
$service_ensure = 'running'
$service_group = 'redis'
$service_hasrestart = true
$service_hasstatus = true
$service_name = 'redis'
$service_user = 'redis'
$ppa_repo = undef
}

'FreeBSD': {
Expand All @@ -125,22 +130,52 @@
$config_file = '/usr/local/etc/redis.conf'
$config_file_mode = '0644'
$config_group = 'wheel'
$config_owner = 'root'
$config_owner = 'redis'
$daemonize = true
$log_dir_mode = '0755'
$package_ensure = 'present'
$package_name = 'redis'
$sentinel_config_file = '/usr/local/etc/redis-sentinel.conf'
$sentinel_config_file_orig = '/usr/local/etc/redis-sentinel.conf.puppet'
$sentinel_init_script = undef
$sentinel_package_name = 'redis'
$sentinel_package_ensure = 'present'
$service_manage = true
$service_enable = true
$service_ensure = 'running'
$service_group = 'redis'
$service_hasrestart = true
$service_hasstatus = true
$service_name = 'redis'
$service_user = 'redis'
$ppa_repo = undef
}

'Suse': {
$config_dir = '/etc/redis'
$config_dir_mode = '0750'
$config_file = '/etc/redis/redis-server.conf'
$config_file_mode = '0644'
$config_group = 'redis'
$config_owner = 'redis'
$daemonize = true
$log_dir_mode = '0750'
$package_ensure = 'present'
$package_name = 'redis'
$sentinel_config_file = '/etc/redis/redis-sentinel.conf'
$sentinel_config_file_orig = '/etc/redis/redis-sentinel.conf.puppet'
$sentinel_init_script = undef
$sentinel_package_name = 'redis'
$sentinel_package_ensure = 'present'
$service_manage = true
$service_enable = true
$service_ensure = 'running'
$service_group = 'redis'
$service_hasrestart = true
$service_hasstatus = true
$service_name = 'redis'
$service_user = 'redis'
$ppa_repo = undef
}

default: {
Expand Down
9 changes: 5 additions & 4 deletions manifests/sentinel.pp
Original file line number Diff line number Diff line change
Expand Up @@ -170,10 +170,11 @@
$notification_script = $::redis::params::sentinel_notification_script,
) inherits redis::params {


ensure_resource('package', $package_name, {
'ensure' => $package_ensure
})
unless defined(Package["$package_name"]) {
ensure_resource('package', $package_name, {
'ensure' => $package_ensure
})
}

file {
$config_file_orig:
Expand Down
12 changes: 7 additions & 5 deletions manifests/service.pp
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@
# This class manages the Redis daemon.
#
class redis::service {
service { $::redis::service_name:
ensure => $::redis::service_ensure,
enable => $::redis::service_enable,
hasrestart => $::redis::service_hasrestart,
hasstatus => $::redis::service_hasstatus,
if $::redis::service_manage {
service { $::redis::service_name:
ensure => $::redis::service_ensure,
enable => $::redis::service_enable,
hasrestart => $::redis::service_hasrestart,
hasstatus => $::redis::service_hasstatus,
}
}
}

2 changes: 1 addition & 1 deletion metadata.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "arioch-redis",
"version": "1.0.6",
"version": "1.0.7",
"author": "Tom De Vylder",
"summary": "Redis module",
"license": "Apache License, Version 2.0",
Expand Down
12 changes: 12 additions & 0 deletions spec/classes/redis_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,12 @@
it { should contain_file('/etc/redis').with_mode('_VALUE_') }
end

describe 'with parameter: log_dir_mode' do
let (:params) { { :log_dir_mode => '_VALUE_' } }

it { should contain_file('/var/log/redis').with_mode('_VALUE_') }
end

describe 'with parameter: config_file' do
let (:params) { { :config_file => '_VALUE_' } }

Expand Down Expand Up @@ -496,6 +502,12 @@
}
end

describe 'with parameter: service_manage (set to false)' do
let (:params) { { :service_manage => false } }

it { should_not contain_service('redis-server') }
end

describe 'with parameter: service_enable' do
let (:params) { { :service_enable => true } }

Expand Down