Skip to content

Commit b97d38f

Browse files
committed
Merge pull request #116 from razorsedge/feature/jdbc
Thanks for your patience while we were sorting out the repo organization issues!
2 parents aa1cd44 + bbe92fb commit b97d38f

File tree

4 files changed

+89
-0
lines changed

4 files changed

+89
-0
lines changed

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,15 @@ The name of the postgresql client package.
150150
####`package_ensure`
151151
The ensure parameter passed on to postgresql client package resource.
152152

153+
###postgresql::java
154+
This class installs postgresql bindings for Java (JDBC). Alter the following parameters if you have a custom version you would like to install (Note: don't forget to make sure to add any necessary yum or apt repositories if specifying a custom version):
155+
156+
####`package_name`
157+
The name of the postgresql java package.
158+
159+
####`package_ensure`
160+
The ensure parameter passed on to postgresql java package resource.
161+
153162
### Custom Functions
154163

155164
If you need to generate a postgres encrypted password, use `postgresql_password`. You can call it from your production manifests if you don’t mind them containing the clear text versions of your passwords, or you can call it from the command line and then copy and paste the encrypted password into your manifest:

manifests/java.pp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Class: postgresql::java
2+
#
3+
# This class installs the postgresql jdbc connector.
4+
#
5+
# Parameters:
6+
# [*package_name*] - The name of the postgresql java package.
7+
# [*package_ensure*] - The ensure value of the package.
8+
#
9+
# Actions:
10+
#
11+
# Requires:
12+
#
13+
# Sample Usage:
14+
#
15+
# class { 'postgresql::java': }
16+
#
17+
class postgresql::java (
18+
$package_name = $postgresql::params::java_package_name,
19+
$package_ensure = 'present'
20+
) inherits postgresql::params {
21+
22+
package { 'postgresql-jdbc':
23+
ensure => $package_ensure,
24+
name => $package_name,
25+
}
26+
27+
}

manifests/params.pp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@
101101
$client_package_name = 'postgresql'
102102
$server_package_name = 'postgresql-server'
103103
$devel_package_name = 'postgresql-devel'
104+
$java_package_name = 'postgresql-jdbc'
104105
$service_name = 'postgresql'
105106
$bindir = '/usr/bin'
106107
$datadir = '/var/lib/pgsql/data'
@@ -111,6 +112,7 @@
111112
$client_package_name = "postgresql${package_version}"
112113
$server_package_name = "postgresql${package_version}-server"
113114
$devel_package_name = "postgresql${package_version}-devel"
115+
$java_package_name = "postgresql${package_version}-jdbc"
114116
$service_name = "postgresql-${version}"
115117
$bindir = "/usr/pgsql-${version}/bin"
116118
$datadir = "/var/lib/pgsql/${version}/data"
@@ -145,6 +147,7 @@
145147
$client_package_name = "postgresql-client-${version}"
146148
$server_package_name = "postgresql-${version}"
147149
$devel_package_name = 'libpq-dev'
150+
$java_package_name = 'libpostgresql-jdbc-java'
148151
$bindir = "/usr/lib/postgresql/${version}/bin"
149152
$datadir = "/var/lib/postgresql/${version}/main"
150153
$confdir = "/etc/postgresql/${version}/main"
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
require 'spec_helper'
2+
3+
describe 'postgresql::java', :type => :class do
4+
5+
describe 'on a debian based os' do
6+
let :facts do {
7+
:osfamily => 'Debian',
8+
:postgres_default_version => 'foo',
9+
}
10+
end
11+
it { should contain_package('postgresql-jdbc').with(
12+
:name => 'libpostgresql-jdbc-java',
13+
:ensure => 'present'
14+
)}
15+
end
16+
17+
describe 'on a redhat based os' do
18+
let :facts do {
19+
:osfamily => 'RedHat',
20+
:postgres_default_version => 'foo',
21+
}
22+
end
23+
it { should contain_package('postgresql-jdbc').with(
24+
:name => 'postgresql-jdbc',
25+
:ensure => 'present'
26+
)}
27+
describe 'when parameters are supplied' do
28+
let :params do
29+
{:package_ensure => 'latest', :package_name => 'somepackage'}
30+
end
31+
it { should contain_package('postgresql-jdbc').with(
32+
:name => 'somepackage',
33+
:ensure => 'latest'
34+
)}
35+
end
36+
end
37+
38+
describe 'on any other os' do
39+
let :facts do {
40+
:osfamily => 'foo',
41+
:postgres_default_version => 'foo',
42+
}
43+
end
44+
45+
it 'should fail' do
46+
expect { subject }.to raise_error(/Unsupported osfamily: foo/)
47+
end
48+
end
49+
50+
end

0 commit comments

Comments
 (0)