From 1d3fc50c97960ca4383edea6fbc86bc65d825d28 Mon Sep 17 00:00:00 2001 From: Tom De Vylder Date: Thu, 30 May 2013 17:02:44 +0200 Subject: [PATCH 1/8] Debian Wheezy fixes --- manifests/params.pp | 5 +++++ manifests/server.pp | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/manifests/params.pp b/manifests/params.pp index af329dc..bbf021c 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -14,6 +14,11 @@ $server_package = 'postgresql' $listen_address = 'localhost' $port = 5432 + + $service_name = $::lsbdistcodename ? { + 'wheezy' => 'postgresql', + default => "postgresql-system-${version}", + } } default: { fail("Unsupported platform: ${::operatingsystem}") diff --git a/manifests/server.pp b/manifests/server.pp index 905b3a9..c72bbbf 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -1,5 +1,6 @@ class postgresql::server ( $server_package = $postgresql::params::server_package, + $service_name = $postgresql::params::service_name, $locale = $postgresql::params::locale, $version = $postgresql::params::version, $listen = $postgresql::params::listen_address, @@ -25,7 +26,7 @@ if ($manage_service) { - service { "postgresql-system-$version": + service { $service_name: name => 'postgresql', enable => true, ensure => running, @@ -35,7 +36,7 @@ subscribe => Package["postgresql-server-$version"], } - $notify_service = Service["postgresql-system-$version"] + $notify_service = Service[$service_name] $package_require = [] } else { From c5968a9a9e251426bfd36d984559689da7e9e5e4 Mon Sep 17 00:00:00 2001 From: Tom De Vylder Date: Thu, 30 May 2013 17:03:12 +0200 Subject: [PATCH 2/8] Lintian fixes --- manifests/db.pp | 41 +++++++++++++++++++---------------- manifests/init.pp | 14 ++++++------ manifests/params.pp | 5 ++++- manifests/server.pp | 53 +++++++++++++++++++++------------------------ 4 files changed, 58 insertions(+), 55 deletions(-) diff --git a/manifests/db.pp b/manifests/db.pp index f8db7e0..63bc846 100644 --- a/manifests/db.pp +++ b/manifests/db.pp @@ -1,24 +1,27 @@ +# = Define postgresql::db +# define postgresql::db ( - $password, - $ensure = present, - $owner = $name, - $encoding = 'UTF8', - $locale = 'en_US.UTF-8', - $template = 'template0', + $password, + $ensure = present, + $owner = $name, + $encoding = 'UTF8', + $locale = 'en_US.UTF-8', + $template = 'template0', ) { - require postgresql::server + require postgresql::server - pg_user {$owner: - ensure => $ensure, - password => $password, - } + pg_user { $owner: + ensure => $ensure, + password => $password, + } - pg_database {$name: - ensure => $ensure, - owner => $owner, - require => Pg_user[$owner], - encoding => $encoding, - locale => $locale, - template => $template, - } + pg_database { $name: + ensure => $ensure, + owner => $owner, + require => Pg_user[$owner], + encoding => $encoding, + locale => $locale, + template => $template, + } } + diff --git a/manifests/init.pp b/manifests/init.pp index 852f361..a7ce14c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,12 +1,12 @@ +# = Class postgresql +# class postgresql ( $client_package = $postgresql::params::client_package, - $version = $postgresql::params::version - + $version = $postgresql::params::version, ) inherits postgresql::params { - - package { "postgresql-client-$version": - name => sprintf("%s-%s", $client_package, $version), - ensure => present, + package { "postgresql-client-${version}": + ensure => present, + name => sprintf('%s-%s', $client_package, $version), } - } + diff --git a/manifests/params.pp b/manifests/params.pp index bbf021c..a37a0f5 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -1,6 +1,7 @@ +# = Class postgresql::params +# class postgresql::params { $locale = 'en_US.UTF-8' - $ssl = false $ssl_ca_file = undef # the default is 'root.crt' $ssl_cert_file = undef # the default is 'server.crt' @@ -20,8 +21,10 @@ default => "postgresql-system-${version}", } } + default: { fail("Unsupported platform: ${::operatingsystem}") } } } + diff --git a/manifests/server.pp b/manifests/server.pp index c72bbbf..9ceaa5a 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -1,20 +1,21 @@ +# = Class postgresql::server +# class postgresql::server ( $server_package = $postgresql::params::server_package, - $service_name = $postgresql::params::service_name, - $locale = $postgresql::params::locale, - $version = $postgresql::params::version, - $listen = $postgresql::params::listen_address, - $port = $postgresql::params::port, - $ssl = $postgresql::params::ssl, - $ssl_ca_file = $postgresql::params::ssl_ca_file, - $ssl_cert_file = $postgresql::params::ssl_cert_file, - $ssl_crl_file = $postgresql::params::ssl_crl_file, - $ssl_key_file = $postgresql::params::ssl_key_file, - $preacl = [], - $acl = [], + $service_name = $postgresql::params::service_name, + $locale = $postgresql::params::locale, + $version = $postgresql::params::version, + $listen = $postgresql::params::listen_address, + $port = $postgresql::params::port, + $ssl = $postgresql::params::ssl, + $ssl_ca_file = $postgresql::params::ssl_ca_file, + $ssl_cert_file = $postgresql::params::ssl_cert_file, + $ssl_crl_file = $postgresql::params::ssl_crl_file, + $ssl_key_file = $postgresql::params::ssl_key_file, + $preacl = [], + $acl = [], $manage_service = true ) inherits postgresql::params { - file { 'postgresql-server-policyrc.d': ensure => present, name => '/usr/sbin/policy-rc.d', @@ -25,53 +26,49 @@ } if ($manage_service) { - service { $service_name: + ensure => running, name => 'postgresql', enable => true, - ensure => running, hasstatus => false, hasrestart => true, provider => 'debian', - subscribe => Package["postgresql-server-$version"], + subscribe => Package["postgresql-server-${version}"], } $notify_service = Service[$service_name] $package_require = [] - } else { - $notify_service = [] $package_require = File['postgresql-server-policyrc.d'] - } - package { "postgresql-server-$version": - name => sprintf("%s-%s", $server_package, $version), + package { "postgresql-server-${version}": ensure => present, + name => sprintf('%s-%s', $server_package, $version), require => $package_require, } - file { "postgresql-server-config-$version": - name => "/etc/postgresql/$version/main/postgresql.conf", + file { "postgresql-server-config-${version}": ensure => present, + name => "/etc/postgresql/${version}/main/postgresql.conf", content => template('postgresql/postgresql.conf.erb'), owner => 'postgres', group => 'postgres', mode => '0644', - require => Package["postgresql-server-$version"], + require => Package["postgresql-server-${version}"], notify => $notify_service, } - file { "postgresql-server-hba-config-$version": - name => "/etc/postgresql/$version/main/pg_hba.conf", + file { "postgresql-server-hba-config-${version}": ensure => present, + name => "/etc/postgresql/${version}/main/pg_hba.conf", content => template('postgresql/pg_hba.conf.erb'), owner => 'postgres', group => 'postgres', mode => '0640', - require => Package["postgresql-server-$version"], + require => Package["postgresql-server-${version}"], notify => $notify_service, } - } + From 9585b4838635d1a4f0519c4e7a3d7ac8e2f2c961 Mon Sep 17 00:00:00 2001 From: Tom De Vylder Date: Thu, 30 May 2013 17:03:37 +0200 Subject: [PATCH 3/8] Debian Squeeze fixes --- manifests/params.pp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manifests/params.pp b/manifests/params.pp index a37a0f5..2495042 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -10,12 +10,16 @@ case $::operatingsystem { /(Ubuntu|Debian)/: { - $version = '9.1' $client_package = 'postgresql-client' $server_package = 'postgresql' $listen_address = 'localhost' $port = 5432 + $version = $::lsbdistcodename ? { + 'squeeze' => '8.4', + default => '9.1', + } + $service_name = $::lsbdistcodename ? { 'wheezy' => 'postgresql', default => "postgresql-system-${version}", From 5e6d06e8e169286ed5a9d54756a39af7545d033a Mon Sep 17 00:00:00 2001 From: Tom De Vylder Date: Thu, 30 May 2013 17:04:18 +0200 Subject: [PATCH 4/8] Missing package postgresql-server-dev --- manifests/server.pp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/manifests/server.pp b/manifests/server.pp index 9ceaa5a..89998ac 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -49,6 +49,11 @@ require => $package_require, } + package { "postgresql-server-dev-${version}": + ensure => present, + require => $package_require, + } + file { "postgresql-server-config-${version}": ensure => present, name => "/etc/postgresql/${version}/main/postgresql.conf", From e4688c430533cd8b0d30458931c19b8786c00e15 Mon Sep 17 00:00:00 2001 From: Tom De Vylder Date: Thu, 30 May 2013 17:04:48 +0200 Subject: [PATCH 5/8] Adjust puppetdoc --- manifests/db.pp | 2 +- manifests/init.pp | 2 +- manifests/params.pp | 2 +- manifests/server.pp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/manifests/db.pp b/manifests/db.pp index 63bc846..34d0d02 100644 --- a/manifests/db.pp +++ b/manifests/db.pp @@ -1,4 +1,4 @@ -# = Define postgresql::db +# == Define postgresql::db # define postgresql::db ( $password, diff --git a/manifests/init.pp b/manifests/init.pp index a7ce14c..2b09163 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,4 +1,4 @@ -# = Class postgresql +# == Class postgresql # class postgresql ( $client_package = $postgresql::params::client_package, diff --git a/manifests/params.pp b/manifests/params.pp index 2495042..12c40ce 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -1,4 +1,4 @@ -# = Class postgresql::params +# == Class postgresql::params # class postgresql::params { $locale = 'en_US.UTF-8' diff --git a/manifests/server.pp b/manifests/server.pp index 89998ac..30474ca 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -1,4 +1,4 @@ -# = Class postgresql::server +# == Class postgresql::server # class postgresql::server ( $server_package = $postgresql::params::server_package, From 48a2f0a8c2418b9e8310db23c7ef9a89e2538201 Mon Sep 17 00:00:00 2001 From: Tom De Vylder Date: Thu, 30 May 2013 17:11:23 +0200 Subject: [PATCH 6/8] Add contributor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb08cdb..0a7e90d 100644 --- a/README.md +++ b/README.md @@ -168,6 +168,7 @@ Contributors * [Bert Hajee](https://github.com/hajee) * [Patrick Hemmer](https://github.com/phemmer) * [Marcello Barnaba](https://github.com/vjt) + * [Tom De Vylder](https://github.com/arioch) ([@tomdevylder](https://twitter.com/tomdevylder)) Copyright and License --------------------- From ff34a9b6c6614ce359e34b35adcc35a0dec1e0e7 Mon Sep 17 00:00:00 2001 From: Tom De Vylder Date: Thu, 30 May 2013 17:14:17 +0200 Subject: [PATCH 7/8] Add TravisCI support --- .gitignore | 1 + .travis.yml | 25 +++++++++++++++++++++++++ Gemfile | 19 +++++++++++++++++++ Rakefile | 6 ++++++ 4 files changed, 51 insertions(+) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 Gemfile create mode 100644 Rakefile diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b844b14 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +Gemfile.lock diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..08288d0 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,25 @@ +language: ruby + +rvm: + - 1.8.7 + - 1.9.3 + - 2.0.0 + +matrix: + allow_failures: + - rvm: 2.0.0 + env: PUPPET_VERSION="2.7" + +script: 'rake' + +env: + - PUPPET_VERSION="2.7" + - PUPPET_VERSION="3.0" + - PUPPET_VERSION="3.1" + - PUPPET_VERSION="3.2" + +branches: + only: + - master + - develop + diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..81cfefa --- /dev/null +++ b/Gemfile @@ -0,0 +1,19 @@ +source 'https://rubygems.org' + +puppetversion = ENV.key?('PUPPET_VERSION') ? "~> #{ENV['PUPPET_VERSION']}" : ['>= 3.2.1'] +gem 'puppet', puppetversion + +if puppetversion =~ /^3/ + ## rspec-hiera-puppet is puppet 3 only + gem 'rspec-hiera-puppet', '>=1.0.0' +end + +facterversion = ENV.key?('FACTER_VERSION') ? "~> #{ENV['FACTER_VERSION']}" : ['>= 1.7.1'] +gem 'facter', facterversion + +gem 'rake' +gem 'rspec' +gem 'puppet-lint', '>=0.3.2' +gem 'rspec-puppet', '>=0.1.6' +gem 'puppetlabs_spec_helper', '>=0.4.1' + diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..f39a408 --- /dev/null +++ b/Rakefile @@ -0,0 +1,6 @@ +require 'rake' + +require 'rspec/core/rake_task' +require 'puppetlabs_spec_helper/rake_tasks' + +task :default => [:spec, :lint] From 694f97e74326d6d18f7a562ca4198fa8ac698711 Mon Sep 17 00:00:00 2001 From: Tom De Vylder Date: Wed, 31 Jul 2013 12:03:55 +0200 Subject: [PATCH 8/8] Fix deprecation notices --- templates/pg_hba.conf.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/pg_hba.conf.erb b/templates/pg_hba.conf.erb index 9ea5c24..850428d 100644 --- a/templates/pg_hba.conf.erb +++ b/templates/pg_hba.conf.erb @@ -86,7 +86,7 @@ local all postgres ident # TYPE DATABASE USER ADDRESS METHOD # site-specific pre access control list -<% preacl.each do |entry| -%> +<% @preacl.each do |entry| -%> <%= entry %> <% end -%> @@ -98,7 +98,7 @@ host all all 127.0.0.1/32 md5 host all all ::1/128 md5 # site-specific access control list -<% acl.each do |entry| -%> +<% @acl.each do |entry| -%> <%= entry %> <% end -%>