diff options
author | Micah <micah@leap.se> | 2016-07-12 16:46:28 -0400 |
---|---|---|
committer | Micah <micah@leap.se> | 2016-07-12 16:46:28 -0400 |
commit | 1e1e25286b64790141c9627f81b50f579b13b719 (patch) | |
tree | 0bddd4510b108b4f2e8a5abc0332972efeedd1da /puppet/modules/rsyslog/manifests/database.pp | |
parent | 850a14b59444737f703686d0d1996bf09ab08e2b (diff) |
git subrepo clone https://leap.se/git/puppet_rsyslog puppet/modules/rsyslog
subrepo:
subdir: "puppet/modules/rsyslog"
merged: "b8ef11c"
upstream:
origin: "https://leap.se/git/puppet_rsyslog"
branch: "master"
commit: "b8ef11c"
git-subrepo:
version: "0.3.0"
origin: "https://github.com/ingydotnet/git-subrepo"
commit: "1e79595"
Change-Id: Iee06502c6df609f1a261410742360cec8694dab5
Diffstat (limited to 'puppet/modules/rsyslog/manifests/database.pp')
-rw-r--r-- | puppet/modules/rsyslog/manifests/database.pp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/puppet/modules/rsyslog/manifests/database.pp b/puppet/modules/rsyslog/manifests/database.pp new file mode 100644 index 00000000..fe6d6ac8 --- /dev/null +++ b/puppet/modules/rsyslog/manifests/database.pp @@ -0,0 +1,57 @@ +# == Class: rsyslog::database +# +# Full description of class role here. +# +# === Parameters +# +# [*backend*] - Which backend server to use (mysql|pgsql) +# [*server*] - Server hostname +# [*database*] - Database name +# [*username*] - Database username +# [*password*] - Database password +# +# === Variables +# +# === Examples +# +# class { 'rsyslog::database': +# backend => 'mysql', +# server => 'localhost', +# database => 'mydb', +# username => 'myuser', +# password => 'mypass', +# } +# +class rsyslog::database ( + $backend, + $server, + $database, + $username, + $password +) inherits rsyslog { + + $db_module = "om${backend}" + $db_conf = "${rsyslog::rsyslog_d}${backend}.conf" + + case $backend { + mysql: { $db_package = $rsyslog::mysql_package_name } + pgsql: { $db_package = $rsyslog::pgsql_package_name } + default: { fail("Unsupported backend: ${backend}. Only MySQL (mysql) and PostgreSQL (pgsql) are supported.") } + } + + package { $db_package: + ensure => $rsyslog::package_status, + before => File[$db_conf], + } + + file { $db_conf: + ensure => present, + owner => 'root', + group => $rsyslog::run_group, + mode => '0600', + content => template("${module_name}/database.conf.erb"), + require => Class['rsyslog::config'], + notify => Class['rsyslog::service'], + } + +} |