From 5d4ce3721126c0fb32c14ba3df2cc847e12797d9 Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Tue, 5 Jun 2012 16:26:21 +0300 Subject: [PATCH] Added initial support for MySQL and PostgreSQL database for storeconfigs --- puppet/manifests/init.pp | 33 ++++++++++++++++++++++++++ puppet/templates/puppetmaster.conf.erb | 13 ++++++++-- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/puppet/manifests/init.pp b/puppet/manifests/init.pp index 34182f8..d37c9b3 100644 --- a/puppet/manifests/init.pp +++ b/puppet/manifests/init.pp @@ -173,6 +173,21 @@ class puppet::server { # Store config type to use. Valid values are "thin", "full" and "none". # Defaults to "thin". # +# $puppet_dbadapter: +# Database adapter to use. Defaults to "sqlite3". +# +# $puppet_dbserver: +# Database server address. Defaults to "localhost". +# +# $puppet_dbname: +# Database name. Defaults to "puppet". +# +# $puppet_dbuser: +# Database user name. Defaults to "puppet". +# +# $puppet_dbpassword: +# Database password. +# # $puppet_report_maxage: # Maximum age (in hours) to keep reports. Defaults to 720 hours (30 days). # @@ -197,6 +212,24 @@ class puppet::server::common inherits puppet::client { } } + if !$puppet_dbadapter { + $puppet_dbadapter = "sqlite3" + } + if $puppet_dbadapter != "sqlite3" { + if !$puppet_dbserver { + $puppet_dbserver = "localhost" + } + if !$puppet_dbname { + $puppet_dbname = "puppet" + } + if !$puppet_dbuser { + $puppet_dbuser = "puppet" + } + if !$puppet_dbpassword { + fail("\$puppet_dbpassword must be set when using ${puppet_dbadapter}.") + } + } + package { "puppetmaster": name => $operatingsystem ? { debian => "puppetmaster", diff --git a/puppet/templates/puppetmaster.conf.erb b/puppet/templates/puppetmaster.conf.erb index 9517f4b..654a0f0 100644 --- a/puppet/templates/puppetmaster.conf.erb +++ b/puppet/templates/puppetmaster.conf.erb @@ -22,7 +22,16 @@ <% if puppet_storeconfigs != 'none' -%> # Use storeconfigs storeconfigs = true -<% if puppet_storeconfigs == 'thin' %> thin_storeconfigs = true<% end %> - dbadapter = sqlite3 +<% if puppet_storeconfigs == 'thin' -%> + thin_storeconfigs = true +<% end -%> + dbadapter = <%= puppet_dbadapter %> +<% if puppet_dbadapter == 'sqlite3' -%> dblocation = /srv/puppet/storeconfigs/storeconfigs.db +<% else -%> + dbserver = <%= puppet_dbserver %> + dbname = <%= puppet_dbname %> + dbuser = <%= puppet_dbuser %> + dbpassword = <%= puppet_dbpassword %> +<% end -%> <% end -%>