summaryrefslogtreecommitdiff
path: root/manifests/database.pp
diff options
context:
space:
mode:
authorBen Webber <benjamin.webber@gmail.com>2012-10-22 00:44:57 -0400
committerBen Webber <benjamin.webber@gmail.com>2012-10-22 00:44:57 -0400
commit0577755b0b353a27e1f9445ee7a1ca8c076a84a2 (patch)
tree1ecab81c78159d14addaa284481796964870f4e3 /manifests/database.pp
parentea01359eea3f78c037ba40ffdb8c1c556d52edf3 (diff)
Added MySQL and PostgreSQL backends. Databases need to be deployed separately.
Diffstat (limited to 'manifests/database.pp')
-rw-r--r--manifests/database.pp32
1 files changed, 32 insertions, 0 deletions
diff --git a/manifests/database.pp b/manifests/database.pp
new file mode 100644
index 0000000..183c870
--- /dev/null
+++ b/manifests/database.pp
@@ -0,0 +1,32 @@
+class rsyslog::database (
+ $backend,
+ $server,
+ $database,
+ $username,
+ $password,
+) inherits rsyslog {
+
+ $db_module = "om${backend}"
+ $db_conf = "${rsyslog::params::rsyslog_d}${backend}.conf"
+
+ case $backend {
+ mysql: { $db_package = $rsyslog::params::mysql_package_name }
+ pgsql: { $db_package = $rsyslog::params::pgsql_package_name }
+ default: { fail("Unsupported backend: ${backend}. Only MySQL (mysql) and PostgreSQL (pgsql) are supported.") }
+ }
+
+ package { $db_package:
+ ensure => $rsyslog::params::package_status,
+ before => File[$db_conf],
+ }
+
+ file { $db_conf:
+ ensure => present,
+ owner => root,
+ group => $rsyslog::params::run_group,
+ mode => '0600',
+ content => template("${module_name}/database.conf.erb"),
+ require => Class['rsyslog::config'],
+ notify => Class['rsyslog::service'],
+ }
+}