Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support instances inside Hiera #330

Merged
merged 17 commits into from
Nov 17, 2019
1 change: 1 addition & 0 deletions REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ _Private Classes_

* `redis::config`: This class provides configuration for Redis.
* `redis::install`: This class installs the application.
* `redis::instances` : This class manages multiple instances.
* `redis::params`: This class provides a number of parameters.
* `redis::preinstall`: Provides anything required by the install class, such as package
repositories.
Expand Down
10 changes: 9 additions & 1 deletion manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@
# @param [Integer] cluster_migration_barrier Minimum number of slaves master will remain connected with, for another slave to migrate to a master which is no longer covered by any slave
# Only set if cluster_enabled is true
# Default: 1
# @param [Hash] instances Iterate through multiple instance configurations
class redis (
$activerehashing = $redis::params::activerehashing,
$aof_load_truncated = $redis::params::aof_load_truncated,
Expand Down Expand Up @@ -252,14 +253,21 @@
$cluster_node_timeout = $redis::params::cluster_node_timeout,
Integer[0] $cluster_slave_validity_factor = $redis::params::cluster_slave_validity_factor,
Boolean $cluster_require_full_coverage = $redis::params::cluster_require_full_coverage,
Integer[0] $cluster_migration_barrier = $redis::params::cluster_migration_barrier
Integer[0] $cluster_migration_barrier = $redis::params::cluster_migration_barrier,
Hash[String[1], Hash] $instances = {},
) inherits redis::params {

contain redis::preinstall
contain redis::install
contain redis::config
contain redis::service

$instances.each | String $key, Hash $values | {
redis::instance { $key:
* => $values,
}
}

Class['redis::preinstall']
-> Class['redis::install']
-> Class['redis::config']
Expand Down